一週間で身につくC#勉強中20
prob8-3.
任意の数値の階乗を求めるプログラムを作りなさい。階乗とは、その数から一つずつ減らした全ての数を書けた数値のことであり、例えば、6の階乗は、6×5×4×3×2×1=720となる。
using System; namespace prob8_3 { class Program { static void Main(string[] args) { int num, goukei; Console.Write("数字を入力してください:"); num = int.Parse( Console.ReadLine()); Console.Write("\n" + num); goukei = num; for(int i = num-1; i > 0; i--) { Console.Write($"×{i}"); goukei *= i; } Console.Write($"={goukei}");*/ } } } }
prob8-4.
1から1000までの任意の数を乱数で発生させ、その数が何桁かを表示するプログラムを作りなさい。
using System; namespace prob8_4 { class Program { static void Main(string[] args) { int num; Random rnd = new Random(); num = rnd.Next(1, 1001); for(int i = 1000,keta=4; i > 0;i /=10, keta--) { if (num / i > 0) { Console.WriteLine($"{num}は{keta}桁です。"); break; } } } } }
12行目のようにforで2つの変数を定義することができます。但し、同じデータ型の変数に限ります。(ここでは両方の変数のデータ型がintです。)
prob8-5.
1から100までの数値のうち、3で割り切れるか、数値の中に3が含まれる数値を全て表示しなさい。
using System; namespace prob8_5 { class Program { static void Main(string[] args) { for(int i = 1; i < 101; i++) { int keta1 = i % 10; //一桁目の数字 int keta2 = i /10 % 10; //二桁目の数字 if (i % 3 == 0) { Console.Write($"{i} "); }else if(keta1==3 || keta2 == 3) { Console.Write($"{i} "); } } } } }