앞뒤가 같아서 거꾸로 읽어도 같은 수를 '대칭수'라고 한다. 예를들어 12321 이나 111, 43211234같은 것들이다. 맨 앞에 0이 있다고 생각하는 경우는 제외한다. 예) 1210 (X)
7과 0으로만 이루어진 10진수 자연수중 2이상 50미만 자연수의 곱으로 이루어진 수를 찾아라.
예) 7*1 = 7
갯수가 많으니 700700007007까지만 찾자
2부터 쭉해보는건 시간도 오래걸리고 찾기도 힘들다. 차라리 7과 0의 대칭수를 찾고 50미만의 자연수로 나눠지나 확인해보자. 알아둬야 할점은 일의 자릿수가 0이 아니다. 또, 짝수와 5의 배수는 절대 끝자리가 7이 될 수 없다. 따라서 우린 5를 제외한 홀수만 생각하면 된다.
def reverse(x): #파이썬에 reverse()메서드가 있지만 배열만 취급하고 메서드이기 때문에 조금 길어진다. 따라서 함수로 만들었다.
x = list(str(x))
x.reverse()
a = "".join(x)
return a
result = []
for i in range(1, 49*49+1):
temp = bin(i)[2:]
if(str(temp) == reverse(temp)):
for j in range(3, 50, 2):
if(j % 5 != 2):
temp = int(temp)
if(temp * 7 % j == 0):
tempp = [j, int(temp * 7 / j), temp * 7]
result.append(tempp)
for k in result:
print(k[0], "*", k[1], "=", k[2])
결과
11 * 7 = 77
3 * 259 = 777
21 * 37 = 777
11 * 637 = 7007
13 * 539 = 7007
49 * 143 = 7007
11 * 707 = 7777
3 * 23569 = 70707
13 * 5439 = 70707
21 * 3367 = 70707
39 * 1813 = 70707
49 * 1443 = 70707
11 * 7007 = 77077
13 * 5929 = 77077
49 * 1573 = 77077
41 * 1897 = 77777
11 * 63637 = 700007
11 * 64337 = 707707
13 * 54439 = 707707
49 * 14443 = 707707
11 * 70007 = 770077
3 * 259259 = 777777
11 * 70707 = 777777
13 * 59829 = 777777
21 * 37037 = 777777
33 * 23569 = 777777
39 * 19943 = 777777
49 * 15873 = 777777
3 * 2335669 = 7007007
21 * 333667 = 7007007
13 * 544439 = 7077707
41 * 172627 = 7077707
49 * 144443 = 7077707
11 * 700007 = 7700077
3 * 2590259 = 7770777
21 * 370037 = 7770777
11 * 6363637 = 70000007
11 * 6370637 = 70077007
13 * 5390539 = 70077007
49 * 1430143 = 70077007
11 * 6427337 = 70700707
3 * 23592569 = 70777707
11 * 6434337 = 70777707
13 * 5444439 = 70777707
21 * 3370367 = 70777707
33 * 2144779 = 70777707
39 * 1814813 = 70777707
49 * 1444443 = 70777707
11 * 7000007 = 77000077
3 * 25692359 = 77077077
11 * 7007007 = 77077077
21 * 3670337 = 77077077
33 * 2335669 = 77077077
3 * 25900259 = 77700777
11 * 7063707 = 77700777
21 * 3700037 = 77700777
33 * 2354569 = 77700777
11 * 7070707 = 77777777
3 * 233356669 = 700070007
13 * 53851539 = 700070007
21 * 33336667 = 700070007
39 * 17950513 = 700070007
49 * 14287143 = 700070007
11 * 63700637 = 700707007
13 * 53900539 = 700707007
49 * 14300143 = 700707007
41 * 17245627 = 707070707
3 * 235902569 = 707707707
21 * 33700367 = 707707707
13 * 54444439 = 707777707
49 * 14444443 = 707777707
11 * 70000007 = 770000077
41 * 18782197 = 770070077
3 * 256902359 = 770707077
21 * 36700337 = 770707077
3 * 259000259 = 777000777
21 * 37000037 = 777000777
11 * 70700707 = 777707777
3 * 259259259 = 777777777
9 * 86419753 = 777777777
21 * 37037037 = 777777777
11 * 636363637 = 7000000007
13 * 538461539 = 7000000007
19 * 368421053 = 7000000007
49 * 142857143 = 7000000007
11 * 636433637 = 7000770007
11 * 637000637 = 7007007007
13 * 539000539 = 7007007007
49 * 143000143 = 7007007007
3 * 2335925669 = 7007777007
11 * 637070637 = 7007777007
21 * 333703667 = 7007777007
29 * 241647483 = 7007777007
33 * 212356879 = 7007777007
11 * 642727337 = 7070000707
3 * 2356923569 = 7070770707
11 * 642797337 = 7070770707
13 * 543905439 = 7070770707
21 * 336703367 = 7070770707
33 * 214265779 = 7070770707
39 * 181301813 = 7070770707
49 * 144301443 = 7070770707
3 * 2359002569 = 7077007707
11 * 643364337 = 7077007707
21 * 337000367 = 7077007707
33 * 214454779 = 7077007707
11 * 643434337 = 7077777707
13 * 544444439 = 7077777707
49 * 144444443 = 7077777707
11 * 700000007 = 7700000077
3 * 2566923359 = 7700770077
11 * 700070007 = 7700770077
13 * 592366929 = 7700770077
21 * 366703337 = 7700770077
33 * 233356669 = 7700770077
39 * 197455643 = 7700770077
49 * 157158573 = 7700770077
3 * 2569002359 = 7707007077
11 * 700637007 = 7707007077
21 * 367000337 = 7707007077
33 * 233545669 = 7707007077
11 * 700707007 = 7707777077
13 * 592905929 = 7707777077
49 * 157301573 = 7707777077
3 * 2590000259 = 7770000777
11 * 706363707 = 7770000777
21 * 370000037 = 7770000777
33 * 235454569 = 7770000777
11 * 706433707 = 7770770777
23 * 337859599 = 7770770777
29 * 267957613 = 7770770777
11 * 707000707 = 7777007777
11 * 707070707 = 7777777777
41 * 189701897 = 7777777777
3 * 23333566669 = 70000700007
21 * 3333366667 = 70000700007
31 * 2258087097 = 70000700007
11 * 6370000637 = 70070007007
13 * 5390000539 = 70070007007
49 * 1430000143 = 70070007007
3 * 23359025669 = 70077077007
21 * 3337003667 = 70077077007
19 * 3688304053 = 70077777007
13 * 5438515439 = 70700700707
23 * 3073943509 = 70700700707
49 * 1442871443 = 70700700707
3 * 23569023569 = 70707070707
13 * 5439005439 = 70707070707
21 * 3367003367 = 70707070707
39 * 1813001813 = 70707070707
49 * 1443001443 = 70707070707
3 * 23590002569 = 70770007707
21 * 3370000367 = 70770007707
19 * 3725109353 = 70777077707
3 * 23592592569 = 70777777707
9 * 7864197523 = 70777777707
13 * 5444444439 = 70777777707
21 * 3370370367 = 70777777707
39 * 1814814813 = 70777777707
49 * 1444444443 = 70777777707
11 * 7000000007 = 77000000077
13 * 5923076929 = 77000000077
19 * 4052631583 = 77000000077
49 * 1571428573 = 77000000077
3 * 25669023359 = 77007070077
21 * 3667003337 = 77007070077
3 * 25690002359 = 77070007077
21 * 3670000337 = 77070007077
13 * 5928515929 = 77070707077
49 * 1572871573 = 77070707077
11 * 7007007007 = 77077077077
13 * 5929005929 = 77077077077
49 * 1573001573 = 77077077077
3 * 25692592359 = 77077777077
9 * 8564197453 = 77077777077
21 * 3670370337 = 77077777077
23 * 3351207699 = 77077777077
3 * 25900000259 = 77700000777
21 * 3700000037 = 77700000777
3 * 25902590259 = 77707770777
9 * 8634196753 = 77707770777
13 * 5977520829 = 77707770777
21 * 3700370037 = 77707770777
39 * 1992506943 = 77707770777
49 * 1585872873 = 77707770777
11 * 7070000707 = 77770007777
3 * 25923569259 = 77770707777
9 * 8641189753 = 77770707777
21 * 3703367037 = 77770707777
41 * 1897001897 = 77777077777
11 * 63636363637 = 700000000007
23 * 30434782609 = 700000000007
11 * 63637063637 = 700007700007
11 * 63642733637 = 700070070007
3 * 233359256669 = 700077770007
11 * 63643433637 = 700077770007
21 * 33337036667 = 700077770007
33 * 21214477879 = 700077770007
11 * 63700000637 = 700700007007
13 * 53900000539 = 700700007007
49 * 14300000143 = 700700007007
Process finished with exit code 0
'Programming > Algorithm' 카테고리의 다른 글
[Python3] 소수리스트2 (1) | 2017.03.01 |
---|---|
[Python3] 소수리스트 (3) | 2017.02.28 |
[Python3] 맞춤법 검사기 (1) | 2017.02.13 |
[Python3] 웹 페이지 파싱 (3) | 2017.02.08 |
[Python3] 3 6 9 게임 (0) | 2017.01.22 |