왜 맞지

4673번: 셀프 넘버

스포방지
def solve(num1):
    nlen = len(str(num1))
    t = num1
    result = t

    for fcount in range(nlen, -1, -1):
        result += t // (10 ** fcount)
        t -= (t // (10 ** fcount))*(10 ** fcount)

    return result


a = list()

for count in range(1, 10001):
    a.append(solve(count))

    if not (count in a):
        a.append(count)
        print(count)

왜…?
저녁이라 컨디션도 별로고 항상 그렇듯이
상쾌하게 오답으로 시작하는 줄 알았는데

2 Likes

물론 숙제는 못했읍니다 ^^

님이 천재라는 증거

0390050000072

2 Likes

Haskell

import Data.List

d :: Int -> Int
d n = n + go n where
   go 0 = 0
   go n = mod n 10 + go (div n 10)

main :: IO ()
main = let xs = [1..10000] in mapM_ print $ xs \\ map d xs