C#の下記の問題でわからないものがあるので教えて頂きたいです。 ソースコードももし可能であれば教えて下さい。

ベストアンサー

0

ThanksImg質問者からのお礼コメント

回答頂きありがとうございました! 分かりやすかったのでベストアンサーにします!

お礼日時:5/21 20:24

その他の回答(2件)

0

using System; using System.Linq; class Program { static int N = 50; public static void Main(string[] args) { int[] array = new int[N]; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { array[j] += (j + 1) % (i + 1) == 0 ? 1 : 0; } } Console.Write(array.Where(x => x % 2 == 1).Count()); } }

0

using System; public class test {     public static void Main() {         int[] r = new int[51];         int i, j, c = 0;         for (i = 1; i < 51; i++) {             r[i] = 1;         }         for (i = 1; i <= 50; i++) {             for (j = 1; i * j <= 50; j++) {                 r[i * j] *= -1;             }         }         for (i = 1; i <= 50; i++) {             if (r[i] == -1) {                 c++;             }         }         System.Console.WriteLine(c);     } } 配列の要素数は、1から50という数字をそのまま使えるようにするために、51個確保しています。 r[1]~r[50]がロッカー番号です。 (r[0]は使っていません)