ㅠㅠ 많은 분들이 도움을 주셨으나
결론은 코드가 잘못된 것 같네요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
근데 어디가 잘못 됐는지 모르겠음 알려주세용 ㅠㅠ
#include<stdio.h>
int prime(int num)
{
int i;
for(i=3; i*i<=num; i+=2)
if(num%i==0)
{
return 0;
break;
}
return 1;
}
int main()
{
int i;
long sum=2;
for(i=3;i<2000000;i+=2)
{
if(prime(i)==1)
sum+=i;
}
printf("%d", sum);
}
참고로 결과값으로 1179908154가 나옴
난 쓰레기야...
for(i=3; i*i<=num; i+=2) .. i*i ... num=
3.. 이면, 9<
3
소수를 다 더해 보는 이유가 궁금
밑에 쏘스있잖아
#include <stdint.h> 추가
#include <inttypes.h> 추가
long sum=2 를 int64_t sum=2; 로 변경
printf("%d", sum); 를 printf("%" PRIu64 "\n", sum); 로 변경
printf("%d", sum); 를 printf("%" PRIu64 "n", sum); 로 변경하기싫으면
printf("%d", sum); 를 printf("%lld", sum); 로 변경
좀 읽어라 미친놈아
===========밑에부터 초보자 수준 리플====================
long sum=2; -> double sum = 2.0;
printf("%d", sum); -> printf("%.0lf", sum);
==============위에 거도 못하면 걍 접어라 ================