물론 입출력에는 내장 함수를 사용함.
print((lambda x: (lambda x, y, z: x(x, y, z))(lambda x, y, z: y and x(x, y[1:], z + 1) or z, x, 0) == 2 and x[1] and "In lowest terms: " + (lambda x: (lambda x, y, z: z(x[0] // y) + (x[1] != y and "/" + z(x[1] // y) or ""))(x, (lambda x, y, z: x(x, y, z))(lambda x, y, z: y < z and x(x, z, y) or z and x(x, z, y % z) or y, x[0], x[1]), lambda x: (lambda x, y, z: x(x, y, z))(lambda x, y, z: y and x(x, y // 10, "0123456789"[y % 10] + z) or z, x, "0"[x != 0:])))(x) or "")((lambda x, y, z, w: x(x, y, z, w))(lambda x, y, z, w: z and x(x, y, z[1:], y(w, z[0])) or w, lambda x, y: y == "/" and x + [0] or y in "0123456789" and x[:-1] + [x[-1] * 10 + (lambda x, y, z, w: x(x, y, z, w))(lambda x, y, z, w: y[0] != w and x(x, y[1:], z + 1, w) or z, "0123456789", 0, y)] or x, ("raw_input" in dir(__builtins__) and raw_input or input)("Enter a fraction: "), [0])))
내장 함수 사용하는 곳은 굵게 표시해둠. Python 2 및 3 겸용.
입출력 예시 (굵게 표시한 것은 사용자 입력)
Enter a fraction: 6/12
In lowest terms: 1/2
kono HENTAIga!!!
ㅎㅎ
오랜만임
한 11, 12년 전에는 KLDP에서도 활동했었는데
오 ㅋㅋ 해석해봐야지
1따봉 드립니다
무슨 가독성좋다는 파이썬으로 걸레같은 코드를 구구절절 길게 만들어놨냐? 횽이 perl 한줄 짜리로 만들어 봤다. 유닉스/리눅스 쉘에서 perl -e 'print "Enter a fraction: ";$i=<>;($c,$p)=split"/",$i;for(reverse(2..$c)){if(!($c%$_)&&!($p%$_)){$c/=$_;$p/=$_;last}};print"In lowest terms: $c/$p\n"' 한줄 넣어봐..
으 괄호보다가 눈 빠질것 같아서 포기했슴다
맨끝에 $pn 에 n앞에 역슬래시 빠졌다. 댓글로 올리니 디씨가 필터링해서 빼버리네.. --;
이 코드는 '내장 함수 없이'가 포인트인데 Perl폭도가 글자도 못읽고 나대네
Python에 atoi, itoa, split이 없어서 내가 저걸 저렇게 짰겠냐
291248328005999177069358804052937859600407 / 69720375229712477164533808935312303556800 이거 약분해주세요
소수인지 아닌지 판별해주는 것도 해주세여
코로모// arbitary precision arithmetic을 저런 식으로 구현하는 것도 재밌겠다만, 귀찮으니까 생략.
지나가는윾동// generator 사용하면 너무 간단해서 안함
http://blog.naver.com/rollrat/220672694786
이런거요?
페르마 정리 쓰지말고 100% 소수인지 아닌지 판별해주는거 짜주세여
코로모// ㅇㅇ
지나가는윾동// 귀찮으니 trial division ㅅㄱ