python2 prime number(소수) 구하는 알고리즘

소수 : 양의 약수가 1과 자기 자신 뿐인 1보다 큰 자연수 두 가지 방법이 있다. 첫 번째, 2부터 특정 양의 정수 n까지로 n을 나누었을 때 약수가 자기 자신 n만 있는 경우이다. 예를 들어, 7을 2,3,4,5,6,7로 순서대로 나누어 본다. 그리고 자기 자신 7 이외에 약수가 존재 하지 않는다면 7은 소수가 된다. #-*- coding: utf-8 -*- i = input("숫자") # 숫자를 입력 받아서 i에 할당 j = 2 while(True): # 2부터 시작해서 i를 j로 나누어서 나머지가 0이 될 때까지 j를 계속 증가     if(i%j ==0):         break     j +=1 if (i==j): # i와 j가 같을 때 즉 j가 i 자기 자신과 같으면 소수다.     print i,j     print i,"는 소수임" else:     print i,j     print i,"는 소수아님" 숫자7 7 7 7 는 소수임 두 번째, 첫 번째 방법처럼 2부터 굳이 자기 자신까지 나누어 볼 필요 없다. 2부터 특정 양의 정수 n의 제곱근 까지로 n을 나누었을 때 약수가 존재 한다면, n은 소수가 아니다. 예를 들어, 양의 정수 25가 소수인지 확인하기 위해서는, 2부터 25의 제곱근인 5인 (2,3,4,5)로 25를 나누었을 때 약수가 존재 한다면 25는 소수가 아니다.  #-*- coding: utf-8 -*- import math i = input("숫자") # 숫자를 입력받아서 i에 할당 j = 2 while(True):     if(j<= math.sqrt(i)): # i가 25일 때, 2,3,4,5 까지 나누어봄         if(i%j...

python2 2! + 3! + 4! + 5! ... + 20! 구하는 알고리즘

#-*- coding:utf-8 -*- sum = 0 i = 1 F =1 while(i<20):     i +=1     F = F*i     sum +=F; print sum 2! = 2 x 1  ===> i가 2일 때 F * i = 2 * 1 3! = 3 x 2 x 1 ===> i가 3으로 증가 F * i = (2*1) * 3 = 3 * 2 * 1 4! = 4 x 3 x 2 x 1 ===> i가 4로 증가 F * i = (3*2*1) * 4 = 4 * 3 * 2 * 1 5! = 5 x 4 x 3 x 2 x 1 ===> i가 5로 증가 F * i = (4*3*2*1) * 5 = 5 * 4 * 3 * 2 * 1 . .. ... .... 20! = 20 x 19 x 18 ... 3 x 2 x 1 ===> i가 20으로 증가 F * i = (19*18*..*2*1) * 20                                                  = 20 * 19 * 18 *... * 3 * 2 * 1

python2 피보나치 수열 합구하는 알고리즘 1+1+2+3+5+8+13+21...

#-*- coding:utf-8 -*- i=1 # 1항 j=1 # 2항 k=0 sum=2 # 1항 + 2항 더한값 for cnt in range(3,9): # 3,4,5,6,7,8     k=i+j # 3항 , 그다음 4항이 됨 3->4 4->5     sum+=k     i=j # 1항에 2항값 넣기 1->2   2->3     j=k # 2항에 3항값 넣기 2->3   3->4     #하나씩 댕기기 print sum 8항 까지합 1+1+2+3+5+8+13+21 =54 1항 = i = 1 2항 = j = 1 3항 = k = 1항(i)+ 2항(j) = 2 피보나치수열의 핵심은  i=j j=k  두 줄 한 항씩 밀어 넣기

python2 입력받은 자연수 약수 구하는 알고리즘

#-*- coding:utf-8 -*- n = input("숫자") #숫자 입력받기 for i in range(1,n+1): # n이 9라면 i 는 1부터 9까지 1,2,3,4,5,6,7,8,9     if(n%i ==0): # 9를 i로 나누었을 때 나머지가 0이면 약수         print i,"는",n,"의 약수임" print "##############"   # 밑에는 다른 방식 for i in range(1,n+1): # 위와 같음     mok = int(n/i) # 몫을 mok에 정수로 할당     nmg = n - mok*i # 나머지를 nmg에  할당     if(nmg==0): # 나머지가 0이면 약수         print i,"은",n,"의 약수임" a =[] # 리스트 초기화 N = input("숫자") # 자연수 N 입력받음 a.append(N) #입력받은 자연수 a[0]에 넣음 for i in range(N-1,-1,-1): # 9를 입력받으면 8부터 0까지 -1씩 줄어듬 8,7,6,5,4,3,2,1,0     try:# 마지막 i가 0이되면 ZeroDivisionError 예외가 발생 따라서 잡아준다.         ng = N % i # 나머지 계산         if(ng==0): #나머지가 0이면             a.append(i) #차례대로 리스트에 넣어줌     except:         continue for i in range(len(a)-1,-1,-1): # 리스트에 들어간 약수를 오름차순으로 출력하...

AWS에 MultiInstance, ELB로 XE로 홈페이지 만들었던거 마이그레이션

이미지
2016년도에 과제했던게 갑자기 생각나서 올립니다,, 이 수업으로 인해서 내 노트북에 우분투 16.04 LTS를 추가적으로 깔아서 듀얼부팅으로 만들어 버렸죠, 이 때는 윈도우에서 버츄얼박스에다가 우분투 14.04LTS 먼저 깔고 APM구축하고 XE 설치해서 개인 홈페이지 만들었어요. 그리고 AWS에다가 올렸었습니다. AWS 계정은 1년 지나면 돈나가서 지금은삭제 해버린상태 ㅋㅋ 개인적으로 구글 클라우드가 조금 더 쓰기는 편한것 같은데, 실무에서는 AWS를 많이 쓴다고 하더라고요. 구글 클라우드는 putty를 쓸필요도 없고 filezilla를 쓸필요가 없는 점이 편하던데 실무에서 많이 쓰는 이유가 있겠죠? 이상 허접의 기록

DS116 WOL(Wake On Lan) 기능 써보자

이미지
고급설정 -> 특수기능 ->WOL 기능에서 나스 mac 주소를 등록해줍니다. 그밖에 공유기설정에서 DDNS 나 외부에서 접속할 수 있도록 설정해주어야 되는데 캡쳐찍고 올리기 귀찮아서 생략합니다. 설정에서 WOL기능 활성화해줍니다~ 나는 매일 새벽2시에 자동으로 꺼지게 설정했습니다. 다음날 일어나서 wol로 키고 ~ 우선 본인 스마트폰에 각자 공유기에 맞는 앱을 설치합니다. 저는 iptime을 써서 맨 오른쪽에 ipTime WOL앱 설치 맨위에 공유기가 저는 등록해놓아서 뜹니다. 맨처음에는 자동검색, 수동추가 2개만 있습니다. 공유기 찾아서 등록해주고, Nas 키고 싶을 때 앱으로 원격으로 켜주면 됩니다. 쉽죠잉? 이상 허접의 기록

DS116 synology 입문~

이미지
원래는 DS114를 주문 했었는데, DS114가 단종 되었다고 하더군요.. 그래서 전화와서 DS116으로 배송해도 되겠냐 해서 동의했습니다. 그리고 요렇게 왔습니다. 하드 포장된채로 한 컷 4테라짜리 열어보니 이렇게 되어 있더군요 ㅋㅋ 앞뒤 그리고 옆면 찍어보기 ㅋㅋ 하드 장착 고고 그리고 시키는대로 해봅시다~! 잘 돌아가는 마지막 모습 이제 이걸로 장난질을 해보겠습니다. 이상 허접의 기록