프로젝트 오일러 9~10

프로젝트 오일러 9

세 자연수 abc 가 피타고라스 정리 a2 + b2 = c2 를 만족하면 피타고라스 수라고 부릅니다 .
예를 들면 32 + 42 = 9 + 16 = 25 = 52이므로 3, 4, 5는 피타고라스 수입니다.
a + b + c = 1000 인 피타고라스 수 abc는 한 가지 뿐입니다. 이 때, a × b × c 는 얼마입니까?
---------------------------------------------------------------------------------------------------
#include

int main()
{
int a,b,c,mult; //a,b,c,mult 초기화

for(c=300;c<900 300="" a="" b="" c="" nbsp="" p=""> {                              900은 넘을리 없다고 생각해서 반복문을 최소화함.
for(a=1;a {
for(b=1;b {
if(a+b+c == 1000 && c*c == a*a + b*b) //조건을 충족시키는
{                                                     값 찾아낸다.
mult = a * b * c;
printf("%d",mult);
return 0;  //포인트다. 모든 반복문을 나온다.
}
}
}
}
}
---------------------------------------------------------------------------------------------
return 0 이 돋보였던 문제이다. 중간에 return 0은 처음 써봤다. 저기서 모든 반복문을 끊으려면 어떻게 해야할까 생각하다가 가끔 코드를 볼 때 본 중간의 return 0을 생각해서 써봤더니 정답이 나왔다. 


프로젝트 오일러 10

10 이하의 소수를 모두 더하면 2 + 3 + 5 + 7 = 17 이 됩니다.
이백만(2,000,000) 이하 소수의 합은 얼마입니까?
-------------------------------------------------------------------------
#include #include int main(){ int i,j; int num=0; unsigned long long result=0; for(i=2; i<2000001 :="" break="" d="" else="" finding="" font="" for="" i="" if="" j="=0){" llu="" n="" pause="" printf="" result="" system="">
---------------------------------------------------------------------------
무식하게 반복문으로 어떻게든 됐지만 , 댓글을 보니 에라토스테네스 방식으로 하면 금방 풀린다고함.

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리