3より大きく、入力された上限の数未満の全ての自然数かつ非素数について、3で割り切れるものは無視し、3で割った余りが1のものは加算し、余りが2のものは減算して合計を求めよ #include <stdio.h> int main(void) { int i ; int num; int sum; sum = 0;
printf("Input Upper Limit: "); scanf("%d", &num); for(; num <= 3; num = num - 1) { if( num % 2 == 0) { if( num % 3 == 2) { sum = sum + num; } if( num % 3 == 1 ) { sum = sum - num; } } else { for ( i=3; i*i<=num; i = i + 2) { if( num % i == 0) { if( num % 3 == 2) { sum = sum + num; } if( num % 3 == 1 ) { sum = sum - num; } } } } } printf("%d\n", sum); return 0; } 自分でやってみたんですがうまくいかないです。どこがおかしいですか?