티스토리 뷰
프로그램 명: cube
제한시간: 1 초
페르마의 마지막 정리 " 2 보다 큰 n 에대해서 , a^n = b^n + c^n 인 1 보다 큰 a , b , c 가 존재하지 않는다 "
몇 백년 동안 페르마의 마지막 정리는 증명되지 않았다. ( 최근에 이 정리가 증명되었지만 , 아직 더 엄밀한 검증이 필요하다)
우리가 관심있는 식은 다음 식이다.( b,c,d > 1)
a3 = b3 + c3 + d3
N 이 주어질 때 N 이하 인 a 로 등식을 만족하는 집합 {a,b,c,d} 를 모두 구하는 것이다.
입력
100 이하인 정수 N 이 주어진다.
출력
입출력 예의 형식으로 출력한다. a 가 작은 순으로 출력하고 a 가 같은 경우 b 가 작은 순으로 출력한다.
입출력 예
입력 24 출력 Cube = 6, Triple = (3,4,5) Cube = 12, Triple = (6,8,10) Cube = 18, Triple = (2,12,16) Cube = 18, Triple = (9,12,15) Cube = 19, Triple = (3,10,18) Cube = 20, Triple = (7,14,17) Cube = 24, Triple = (12,16,20)
출처: Mid-Central USA 1995
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <iostream> #include <math.h> using namespace std; void func(int num) { int numThree = (int)(pow((double)num,3.0)); int i,j,k; int min,mid,max; for(i=2; i<num; i++) for(j=i; j<num; j++) for(k=j; k<num; k++) if(numThree == (pow(i,3.0) + pow(j,3.0) + pow(k,3.0))){ printf("Cube = %d, Triple = (%d,%d,%d)\n",num,i,j,k); // 다 돌려보면 나옵니다. break; } } int main() { int N; cin>>N; for(int i=6; i<=N; i++){ func(i); } } |
4 중첩 for문이지만... 그래도 4단계니까 괜찮을거에요...
'알고리즘' 카테고리의 다른 글
n번째 숫자 구하기 문제 (0) | 2014.09.24 |
---|---|
맥주 파티 (0) | 2014.09.24 |
소인수 분해 문제 (0) | 2014.09.24 |
이벤트 문제 (0) | 2014.09.24 |
Collatz 추측 문제 (0) | 2014.09.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 파이선
- markdown
- Encapsulation
- player
- 평창
- 우분투
- media
- OOP
- 추상화
- 마크다운
- 리눅스
- readme.md
- Class
- Linux
- ContentResolver
- 클래스
- 입장권
- 올림픽
- abstraction
- Polymorphism
- ubuntu
- 캡슐화
- Video
- 객체지향
- Android
- 동계
- Multimedia
- 다형성
- Object Oriented Programming
- 크롤링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함