저작자 표시 비영리 변경 금지
신고
Posted by 용식
TAG Hash, RUBY

저작자 표시 비영리 변경 금지
신고
Posted by 용식
TAG Hash, perl


숫자 1406357289은 0 ~ 9 팬디지털인데, 부분열에 관련된 재미있는 성질을 가지고 있습니다.

d1을 첫째 자리수, d2를 둘째 자리수...라고 했을 때, 다음과 같은 사실을 발견할 수 있습니다.

  • d2 d3 d4 = 406 → 2로 나누어 떨어짐
  • d3 d4 d5 = 063 → 3으로 나누어 떨어짐
  • d4 d5 d6 = 635 → 5로 나누어 떨어짐
  • d5 d6 d7 = 357 → 7로 나누어 떨어짐
  • d6 d7 d8 = 572 → 11로 나누어 떨어짐
  • d7 d8 d9 = 728 → 13으로 나누어 떨어짐
  • d8 d9 d10 = 289 → 17로 나누어 떨어짐

위와 같은 성질을 갖는 0 ~ 9 팬디지털을 모두 찾아서 그 합을 구하면 얼마입니까?


팬디지털 생성만 알면 그 다음은 그냥 평이한문제..
순열을 사용해 10자리 팬디지털을 생성 후 조건에 맞는 것을 찾음


 

Python
Ruby
Perl
저작자 표시 비영리 변경 금지
신고
Posted by 용식


세 변의 길이가 모두 자연수 {a, b, c}인 직각삼각형의 둘레를 p 로 둘 때, p = 120 을 만족하는 직각삼각형은 아래와 같이 세 개가 있습니다.

{20, 48, 52}, {24, 45, 51}, {30, 40, 50}

1000 이하의 둘레 p에 대해서, 직각삼각형이 가장 많이 만들어지는 p의 값은 얼마입니까?


평범한 문제.
직각 삼각형 나오면 일단 피타고라스의 정리..
다만, a,b,c사이의 관계에 따라서 조건을 좀 더 줄여 줄 수 있을 것 같지만
그냥 각각 1~1000까지 loop돌면서 모든 case에 대해 brute-force 로직 적용.

 

Python
Ruby
Perl
저작자 표시 비영리 변경 금지
신고
Posted by 용식

저작자 표시 비영리 변경 금지
신고
Posted by 용식

저작자 표시 비영리 변경 금지
신고
Posted by 용식

[Perl] Set의 구현

Perl 2012.02.25 00:05
조금 찾아보니
CPAN에 모듈이 있는 것 같기도 하고..
hash를 사용해 구현하기도 하는 듯...
 
저작자 표시 비영리 변경 금지
신고
Posted by 용식
TAG Hash, perl, Set


1부터 n까지의 자연수를 차례로 더하여 구해진 값을 삼각수라고 합니다.
예를 들어 7번째 삼각수는 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28이 됩니다.
이런 식으로 삼각수를 구해 나가면 다음과 같습니다.

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

이 삼각수들의 약수를 구해봅시다.

 1: 1
 3: 1, 3
 6: 1, 2, 3, 6
10: 1, 2, 5, 10
15: 1, 3, 5, 15
21: 1, 3, 7, 21
28: 1, 2, 4, 7, 14, 28

위에서 보듯이, 5개 이상의 약수를 갖는 첫번째 삼각수는 28입니다.

그러면 500개 이상의 약수를 갖는 가장 작은 삼각수는 얼마입니까?



소인수의 개수와 약수의 개수를 헷갈려서 맥북 이륙 좀 시키다가 이상하다 싶어서 다시 풀었음..;;
외국 사이트에서는 풀었냐 못 풀었냐가 아니라
몇초안에 답이 나왔냐가 중요한 문제이구만..ㅋㅋ 그래서 나도.. time 코드를 삽입.
문제 풀이자들이 자랑하는 풀이보다 약 9배 느림 ㅋ
Python
2.7버전으로 보이고.. 실행은 해보지 않았으나 0.Xs의 시간이 걸린다고 함..
Ruby
문제가 어려워진다..--;

Perl
저작자 표시 비영리 변경 금지
신고
Posted by 용식