1234567891011121314151617count=0for n in range(1,101): for r in range(0, n+1): n_r=n-r boonza=1 boonmo=1 for i in range(2,n+1): boonza=boonza*i for j in range(2,r+1): boonmo=boonmo*j for k in range(2,n_r+1): boonmo=boonmo*k combination=boonza/boonmo if(combination>1000000): count=count+1print(count)#반환 시간 : 0.1scs 조합을 구하고 백만이 넘어가면 카운트를 셌다.
123456789101112131415161718192021222324252627arr=[]number=1sum=0for i in range(1,502): arr_temp=[] count=((i*2-1)-1)*4 if(count==0): count=1 for j in range(0,count): arr_temp.append(number) number=number+1 arr.append(arr_temp)for i in range(1,502): matrix=i*2-1 if(matrix==1): sum=sum+1 continue index1=matrix-2 index2=index1+matrix-1 index3=index2+matrix-1 index4=index3+matrix-1 sum=sum+arr[i-1][..
1페이지를 모두 풀었다. 프로젝트 오일러를 하면서 느끼는 것이 몇 가지 있는데, Python은 생각보다 정말 간편하고 강력한 언어라는 것이고 ( = 컴퓨터는 Python을 정말 싫어할 것이다) 내가 지금 알고리즘을 공부하고 있는 것인지 CPU를 죽이려고 하는 것인지 모르겠다는 것이다. 몇몇 문제는 결과가 즉시 도출되었지만 몇 분, 몇 십 분, 심지어 몇 시간이 걸려서 결과가 나오는 문제도 여러 있었다. 문제에 시간을 많이 투자하여 더 좋은 알고리즘을 떠올릴 수도 있겠지만 알고리즘 서적 같은 것을 공부하며 이미 누군가가 고안해 낸 알고리즘을 공부하는 것도 나쁘지 않은 시도일 것이다.
123456789101112131415161718192021222324252627282930313233343536373839404142434445f=open(#파일 경로,'r')arr=[]sum=0result=0while True: string = f.readline() if not string: break string=string.split(" ") arr.append(string)f.close()for a in range(0,1): for b in range(0,2): for c in range(b,b+2): for d in range(c,c+2): for e in range(d,d+2): for f in range(e,e+2): for g in range(f,f+2): for h in range(g..
123456789f=open("C:/Users/yooha/Desktop/text.txt",'r')sum=0while True: string = f.readline() if not string: break sum=sum+(int)(string)print(str(sum)[0:10])f.close()Colored by Color Scriptercs 페이지에 제시된 숫자들을 어떻게 읽어야 하나 고민했는데 간단한 텍스트 파일에 데이터를 넣은 후 한 줄씩 읽어들이면 해결되는 것이었다. 그 후로는 간단하다.