Haaste: Metodi Parametreilla
Tässä haasteessa sinun tulee luoda uusi metodi nimeltä factorial, jolla on yksi parametri nimeltä n tyyppiä int. Sen tulee laskea annetun arvon n kertoma ja tulostaa tulos.
Ohjelman runko on annettu, täydennä puuttuvat kohdat ohjelman viimeistelemiseksi:
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); } } }
- Olemme tehneet kertomaan liittyvän harjoituksen aiemmassa osiossa, mutta kertauksena: luvun kertoma on kaikkien siihen asti olevien lukujen tulo.
Esimerkiksi luvun5kertoma on1 x 2 x 3 x 4 x 5, joka on120, samoin luvun4kertoma on24. On myös kaksi lisäsääntöä:- Luvun
0kertoma on1; - Negatiivisen luvun kertoma on
undefined, joten sen tulee tulostaaundefined.
- Luvun
- Tehtävän ratkaisemiseksi noudata seuraavia vaiheita:
- Täydennä
factorial-metodin parametri oikealla määrittelyllä. Se odottaa kokonaislukua. Päättele parametrin nimi lukemalla metodin sisäinen koodi; - Jos annettu argumentti on
0, sen tulee näyttää kiinteä tulos, joka on mainittu vinkeissä; - Silmukan tulee jatkua annetun kokonaisluvun (mukaan lukien) loppuun asti.
result-muuttujaa tulee päivittää kertomalla se silmukan muuttujalla. Lyhyesti:result *= i; - Jos syötetty luku on negatiivinen (virheellinen), sen tulee tulostaa "undefined".
- Täydennä
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); } } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Haaste: Metodi Parametreilla
Pyyhkäise näyttääksesi valikon
Tässä haasteessa sinun tulee luoda uusi metodi nimeltä factorial, jolla on yksi parametri nimeltä n tyyppiä int. Sen tulee laskea annetun arvon n kertoma ja tulostaa tulos.
Ohjelman runko on annettu, täydennä puuttuvat kohdat ohjelman viimeistelemiseksi:
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); } } }
- Olemme tehneet kertomaan liittyvän harjoituksen aiemmassa osiossa, mutta kertauksena: luvun kertoma on kaikkien siihen asti olevien lukujen tulo.
Esimerkiksi luvun5kertoma on1 x 2 x 3 x 4 x 5, joka on120, samoin luvun4kertoma on24. On myös kaksi lisäsääntöä:- Luvun
0kertoma on1; - Negatiivisen luvun kertoma on
undefined, joten sen tulee tulostaaundefined.
- Luvun
- Tehtävän ratkaisemiseksi noudata seuraavia vaiheita:
- Täydennä
factorial-metodin parametri oikealla määrittelyllä. Se odottaa kokonaislukua. Päättele parametrin nimi lukemalla metodin sisäinen koodi; - Jos annettu argumentti on
0, sen tulee näyttää kiinteä tulos, joka on mainittu vinkeissä; - Silmukan tulee jatkua annetun kokonaisluvun (mukaan lukien) loppuun asti.
result-muuttujaa tulee päivittää kertomalla se silmukan muuttujalla. Lyhyesti:result *= i; - Jos syötetty luku on negatiivinen (virheellinen), sen tulee tulostaa "undefined".
- Täydennä
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); } } }
Kiitos palautteestasi!