Sfida: Metodo con Parametri
In questa sfida è necessario creare un nuovo metodo chiamato factorial che avrà un parametro chiamato n di tipo int. Deve calcolare il fattoriale del valore passato n e restituire il risultato.
Lo schema del programma è fornito, completa i dettagli mancanti per completare il programma:
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void factorial(___) { if(n == 0) { Console.WriteLine(___); } else if (n > 0) { int result = 1; for (int i = 2; i <= ___; i++) { ___ } Console.WriteLine(___); } else { Console.WriteLine(___); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
- Abbiamo già svolto un esercizio relativo al fattoriale in una delle sezioni precedenti, ma per ricapitolare, il fattoriale di un numero è il prodotto di tutti i numeri fino a quel numero.
Ad esempio, il fattoriale di
5è1 x 2 x 3 x 4 x 5che è120, allo stesso modo il fattoriale di4è24. Ci sono due regole aggiuntive:- Il fattoriale di
0è1; - Il fattoriale di un numero negativo è
undefined, quindi deve restituireundefined.
- Il fattoriale di
- Per risolvere il compito, seguire i seguenti passaggi:
- Completa lo spazio vuoto per il metodo
factorialcon una definizione di parametro appropriata. Si aspetta un intero. Determina quale dovrebbe essere il nome del parametro leggendo il codice interno del metodo; - Se l'argomento passato è
0, deve mostrare un output fisso come indicato nei suggerimenti; - Il ciclo deve continuare fino (incluso il numero) all'intero passato. La variabile
resultdeve essere aggiornata con il prodotto di se stessa e la variabile del ciclo. In breve:result *= i; - Se il numero in ingresso è negativo (non valido), deve restituire "undefined".
- Completa lo spazio vuoto per il metodo
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void factorial(int n) { if(n == 0) { Console.WriteLine(1); } else if (n > 0) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } Console.WriteLine(result); } else { Console.WriteLine("undefined"); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you show me the blueprint of the program that needs to be completed?
What should the method return if the input is negative?
Can you provide an example input and expected output?
Awesome!
Completion rate improved to 1.59
Sfida: Metodo con Parametri
Scorri per mostrare il menu
In questa sfida è necessario creare un nuovo metodo chiamato factorial che avrà un parametro chiamato n di tipo int. Deve calcolare il fattoriale del valore passato n e restituire il risultato.
Lo schema del programma è fornito, completa i dettagli mancanti per completare il programma:
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void factorial(___) { if(n == 0) { Console.WriteLine(___); } else if (n > 0) { int result = 1; for (int i = 2; i <= ___; i++) { ___ } Console.WriteLine(___); } else { Console.WriteLine(___); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
- Abbiamo già svolto un esercizio relativo al fattoriale in una delle sezioni precedenti, ma per ricapitolare, il fattoriale di un numero è il prodotto di tutti i numeri fino a quel numero.
Ad esempio, il fattoriale di
5è1 x 2 x 3 x 4 x 5che è120, allo stesso modo il fattoriale di4è24. Ci sono due regole aggiuntive:- Il fattoriale di
0è1; - Il fattoriale di un numero negativo è
undefined, quindi deve restituireundefined.
- Il fattoriale di
- Per risolvere il compito, seguire i seguenti passaggi:
- Completa lo spazio vuoto per il metodo
factorialcon una definizione di parametro appropriata. Si aspetta un intero. Determina quale dovrebbe essere il nome del parametro leggendo il codice interno del metodo; - Se l'argomento passato è
0, deve mostrare un output fisso come indicato nei suggerimenti; - Il ciclo deve continuare fino (incluso il numero) all'intero passato. La variabile
resultdeve essere aggiornata con il prodotto di se stessa e la variabile del ciclo. In breve:result *= i; - Se il numero in ingresso è negativo (non valido), deve restituire "undefined".
- Completa lo spazio vuoto per il metodo
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void factorial(int n) { if(n == 0) { Console.WriteLine(1); } else if (n > 0) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } Console.WriteLine(result); } else { Console.WriteLine("undefined"); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
Grazie per i tuoi commenti!