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); } } }
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 6. Luku 5
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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); } } }
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 6. Luku 5