Euler Project解答1~5
#-*- coding:utf-8 -*- #Euler1 N=1000 if __name__=="__main__": list=[] for i in range(N): if (i % 3 == 0) or (i % 5==0): list.append(i) print sum(list)
max = 999 total = 0 1.upto(max) do |i| if (i % 3 == 0) or (i % 5 ==0) total = i + total end end print total
#-*- coding:utf-8 -*- #Euler2.py A=1 B=2 N=4000000 list=[] if __name__=="__main__": list.append(B) while B<N: T=B B=A+B A=T if B % 2 ==0: list.append(B) print sum(list)
#Ruby
#dynamic constant assignmentではまってしまった。
A = 1 B = 2 N = 4000000 def Fib(min1,min2,max) total = 0 total = min2 until min2 >= max transfer = min2 min2 = min1 + min2 min1 = transfer if min2 % 2 == 0 total += min2 end end return total end puts Fib(A,B,N)
#Euler3
#python
#-*- coding:utf-8 -*- #Euler3 from numpy import * N=600851475143 A=100000 list=[] SUM=1 if __name__=="__main__": for i in range(2,A): if N % i==0: list.append(i) SUM=SUM*i if SUM == N: break print list[size(list)-1]
N = 600851475143 def Search_primefactor(number) max = 0 total = 1 2.upto(number) do |i| if number % i ==0 max = i total = total * i if total == number break end end end return max end puts Search_primefactor(N)
#-*- coding:utf-8 -*- #Euler4 LIST=[] TOTAL=0 if __name__=="__main__": for i in range(100,1000): for j in range(100,1000): A=i*j list=[] if A < 100000: for z in range(5): list.append(A % 10) A=A / 10 if list[0]==list[4] and list[1]==list[3]: if TOTAL < i*j: TOTAL=i*j if A >= 100000: for z in range(6): list.append(A % 10) A=A/10 if list[0]==list[5] and list[1]==list[4] and list[2]==list[3]: if TOTAL < i*j: TOTAL=i*j print TOTAL
#-*- coding:utf-8 -*- #Euler5 TOTAL=1 N=20 def gcd(x,y): if y > 0: return gcd(y,x%y) return x def lcm(x,y): return x*y/gcd(x,y) if __name__=="__main__": for i in range(1,N+1): if TOTAL != lcm(i,TOTAL): TOTAL=lcm(i,TOTAL) print TOTAL
#Ruby-Euler5 N = 20 def gcd(x,y) if y > 0 return gcd(y,x%y) end return x end def lcm(x,y) return x * y / gcd(x,y) end def Search_Number(number) total = 1 1.upto(number) do |i| if total != lcm(i,total) total = lcm(i,total) end end return total end puts Search_Number(N)