기본 콘텐츠로 건너뛰기

라벨이 workout인 게시물 표시

[matplotlib]quiver()함수

Palindrome(회문) 결정하기

palindrome(회문) 순서를 역으로 해도 동일한 단어, 숫자, 문장을 나타내는 객체  첫번째와 마지막 원소가 동일    안쪽으로 하나씩 좁혔을 때 동일함 palindrome을 판단하기 위한 프로그램 def isPalindromeS(x):     target=str(x)     is_palindrome=True     for i in range(len(target)//2):         if target[i] != target[-1 -i]:             is_palindrome=False             break     return(is_palindrome) x=[121, "level", 12314] [isPalindromeS(i) for i in x] [True, True, False] 지정한 범위에서 palindrome를 발견 re=np.array([]) for i in range(10, 1001):     if isPalindromeS(i):         re=np.append(re, i) re array([ 11.,  22.,  33.,  44.,  55.,  66.,  77.,  88.,  99., 101., 111.,        121., 131., 141., 151., 161., 171., 181., 191., 202., 212., 222.,        232., 242., 252., 262., 272., 282., 292., 303....

솟수와 소인수 (Prime, Prime Factor)

솟수 1과 자신외의 값으로 나누어질 수 없는 수 def isPrimeS(x):     if x<=1:         return False     for i in range(2, x):         if x % i ==0:             return False     return True isPrimeS(7) True 위 프로그램을 사용하여 [1, 100] 사이의 솟수는 다음과 같습니다. re=np.array([]) for i in range(1, 101):     if isPrimeS(i)==True:         re=np.append(re, i) re array([ 2.,  3.,  5.,  7., 11., 13., 17., 19., 23., 29., 31., 37., 41.,        43., 47., 53., 59., 61., 67., 71., 73., 79., 83., 89., 97.]) 소인수  (Prime Factor) 소인수: 어떤 수를 얻기 위해 곱해지는 수들중 솟수들 6=2×3의 경우 2, 3은 6의 인수(factor) Prime Factorization(소인수 분해): 어떤수를 만들기 곱해진 수들 중에 소수들 12=2×6  12의 인수들은 2, 6으로 나타낼 수 있지만 6은 소수가 아니다. 즉, 별도의 인수를 가진다. 6=2×3 그러므로 12=2×2×3=2 2 *3 결과적으로 12의 소인수는 2, 3 입니다. 인수를 찾는 프로그램    factorS(x) 와 솟수인지를 검사하는 프로그램 isPrimeS() 를 사용하여 작성할 수 있습니...

피보나치 수열 생성(Fibonacci Sequence)

피보나치 수열은 앞의 두 수를 더하여 다음 수를 생성하는 수열로서 다음과 같이 코드를 작성할 수 있습니다. def fiboS(n):     #n=피보나치 수열의 갯수     fiboseq=np.array([1, 2])     for i in range(2, n+1):         fiboseq=np.append(fiboseq, fiboseq[i-2]+fiboseq[i-1])     return(fiboseq) fiboS(10) array([  1,   2,   3,   5,   8,  13,  21,  34,  55,  89, 144]) 위 결과는 numpy array로서 이들의 합을 위해서는 np객체.sum()을 적용합니다. fiboS(10).sum() 375 위 프로그램의 n은 수열의 갯수로서 정수입니다. 이것은 range() 함수의 인수이기 때문입니다. 정수형은 자릿수등의 한계가 존재하므로 얼마 이상의 값에서는 예기치 못한 값을 반환합니다. fiboS(50) array([          1,           2,           3,           5,           8,                 13,          21,          34, ...

공배수와 공약수 (Common Multiple and Factor)

공배수의 합 Sum of Common Multiple 3 또는 5의 배수 자연수 10이하의 3 또는 5의 배수는 3, 5, 6, 9. 이들의 합은 23 re=0 for n in range(1, 1001):     if n%3==0 or n%5==0:         re=re+n re 234168 위 프로그램과 같이 1000이하의 3, 5 공배수의 합? re=0 n=0 while n<=1001:     if n%3==0 or n%5==0:         re=re+n     n += 1 re 234168 최소공배수 (Least Common Multiple) 두 수의 최소공배수 def lcmS(x, y):     re=[]     n=1     while len(re)<1:         if n%x==0 and n%y==0:             re.append(n)         n+=1     return(re)     lcmS(14, 215) [3010]  2 수 이상에서의 최소공배수는 numpy 배열을 사용합니다. def lcm_arrayS(x):     re=[]     n=2     while len(re)<1:         y=np.repeat(n, len(x))         z=n%x         if all(z==0): ...