티스토리 뷰
대칭수의 특징
두 자리 수 곱셉의 대칭수 ( 100 ~ 9801 )
1000 이상이라고 가정하면 대칭수는 ?
= 1000*a + 100*b + 10*b + a
= 1001*a + 110*b
= 7*11*13*a + 2*5*11*b
= 11*(7*13*a + 2*5*b)
위와 같이 생각한다면 세 자리 수 곱셉의 대칭수 ( 10000 ~ 998001 ) 100000 이상이라고 가정하면 대칭수는 ?
= 100000*a + 10000*b + 1000*c + 100*c + 10*b + a
= 100001*a + 10010*b + 1100*c
= 11*9091*a + 11*910*b + 11*100*c
= 11*(9091*a + 910*b + 100*c)
앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.
두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.
세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까?
solution 1
#include <stdio.h>
int Pallresult (int num){
int Bucket[6] = {0,0,0,0,0,0};
Bucket[0] = (num/1)%10;
Bucket[1] = (num/10)%10;
Bucket[2] = (num/100)%10;
Bucket[3] = (num/1000)%10;
Bucket[4] = (num/10000)%10;
Bucket[5] = (num/100000)%10;
if(Bucket[0] == Bucket[5] && Bucket[1] == Bucket[4] && Bucket[3] == Bucket [2])
return 1;
return 0;
}
int main(void)
{
int num = 0;
int max = 0;
int i, j;
for(j = 999; j > 0; j--){
for (i = 999; i >0; i--){
num = i*j;
if(Pallresult(num) == 1 && num > max)
max = num;
}
}
printf("%d\n",max );
return 0;
}
solution 2
#include <stdio.h>
int main (void){
int number;
int a = 1;
int b = 0;
int c = 0;
int multi;
int m;
int first=0, second=0, result=0;
while(a<10){
number = 11*(a*9091 + 910*b + 100*c);
multi = 9;
while (multi++ < 90){
m = 11*multi;
if(!(number%m)){
if(number/m > 999) break;
first = m;
second = number/m;
}
}
if( ++c% 10 != 0)
if(++b % 10 != 0)
a++;
}
}
result = first + second;
printf("%d \n", result);
}
솔루션 2번은 어떤 이유로 오류가 나는지 정확히 파악을 못했다. 파악 후 제대로 된 코드 올릴 것임
'알고리즘 > 오일러 프로젝트' 카테고리의 다른 글
오일러 프로젝트 9번 (0) | 2016.04.14 |
---|---|
오일러 프로젝트 6번 (0) | 2016.04.03 |
오일러 프로젝트 3 (0) | 2016.03.22 |
오일러 프로젝트 2번 (0) | 2016.03.13 |
오일러 프로젝트 1번 문제 (0) | 2016.03.13 |
- Total
- Today
- Yesterday
- 팁스강좌
- 헤더
- 키보드 메시지 이벤트
- arp
- 오일러 프로젝트 12번
- TIPS강좌
- Omok
- 오일러 프로젝트 16번
- 오일러 프로젝트 10본
- 실행 압축
- Tips
- 허프만 알고리즘
- 2의 1000승
- tipsr강좌
- 약수 500개
- 오일러 프로젝트 13
- 오일러 프로젝트 11번
- 오일러
- MFC
- 오일러 프로젝트 8번
- 오일러 프로젝트 14번
- 서버
- 비손실 압축
- tipssoft
- 이미지게임
- 패킷
- 화투이미지맞추기
- 와이어샤크
- CBrush
- tipsoft
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |