100 までの素数を、1 が 9 個、2 が 3 個、3 が 9 個、4 が3 個、5 が 3 個…と数えるプログラミングを作りたいのですが、0の取り扱いをどうしたらいいのかわからないないです。
ご教授お願い致します。
visual stadio 2019で作っています。
C言語
1#include <stdio.h> 2#include <conio.h> 3#define SIZE 100 4 5int main() 6{ 7 int x[SIZE]; 8 int a[SIZE]; 9 10 for (int i = 0; i < SIZE; i++) { 11 a[i] = 1; 12 x[i] = 0; 13 } 14 15 a[0] = 0; 16 a[1] = 0; 17 18 for (int i = 2; i < SIZE; i++) { 19 if (a[i] == 1) { 20 for (int j = 2; j < SIZE; j += i) { 21 a[j] = 0; 22 } 23 } 24 25 } 26 27 for (int i = 0; i < SIZE; i++) { 28 if (a[i] == 1) { 29 30 int n = i; 31 for (; n != 0; n /= 10); 32 x[n % 10]++; 33 34 } 35 36 } 37 38 for (int i = 0; i < 10; i++) 39 printf("%d:%d\n", i, x[i]); 40 41 42 43 return 0; 44 45 46}
実行結果
0:17
1:0
2:0
3:0
4:0
5:0
6:0
7:0
8:0
9:0
回答1件
あなたの回答
tips
プレビュー