# for i in range(5):
# for j in range(5):
# print(i,j)
# if i>2 and j>2:
# break #跳出循環
# if (i>2) and j>2:
# break
#
# for i in range(5):
# if i==2:
# continue
#
# for i in range(10):
# print(i)
# if i>99:
# break
# else:
# print(999)
#題目7 :輸入一個數,判斷這個數是否爲素數,並輸出判斷結果
# num=int(input('請輸入大於2的整數'))
# for i in range(2,num):
# if (num%i==0):
# print('不是素數!')
# else:
# print('是素數')
#另一種方法(加速)
# import math
# print(math.sqrt(16)) #平方根
# num=int(input('請輸入大於2的整數:'))
# for i in range(2,int(math.sqrt(math))+1):
# if num%i==0:
# print('不是素數')
# break
# else:
# print('是素數')
#題目8: 一個數如果恰好等於他的因子之和,這個數成爲“完數”
# 所謂是素數是除了1和他本身能整除的數
# for i in range(1,1000):
# list1=[]
# for j in range(1,i):
# if (i%j==0):
# list1.append(j)
# if sum(list1)==i:
# print('%s是因子'%(i))
#99乘法表while方法實現
# i=1
# while i<10:
# j=1
# while j<=i:
# print('%s*%s=%s'%(i,j,i*j),end=' ')
# j+=1
# print()
# i+=1
#約瑟夫環
#1)一羣人圍在一起起做成環狀(如:N)
#2)從某個編號開始報數 (如:K)
#3)疏導某數(如:M)的時候,此人出列,下一個人重新報數
#4)一直循環,知道剩餘2個人,約瑟夫環結束。
N=['3','4','5','6','7','8','9','10','11','12']
K=int(input('請輸入開始的編號,0代表第一個人'))
M=int(input('請輸入與要數的數字'))
while len(N)>2:
print('當前列表爲:',N)
K=(K+M-1)%len(N)#-1爲了確定從0開始數,本身數自己的索引
r=N.pop(K)
print('被刪除的元素索引值爲:',K)
print('被刪除的元素爲',r)
print('刪除後的列表爲',N)
print('-'*100)
#題目3: 加入一年的利率爲3.25%(複利),計算下需要多少年,萬元的一年定期存款連本帶息能翻倍。
# money=10000
# year=0
# print(money*(1.0325**21))
# while money<20000:
# money=money*1.0325
# year+=1
# print(year)
#題目16: 將一個正整數分解質因數,例如:輸入90 打印出90=2*3*5
# num1=int(input('請輸入大於2的整數'))
# old_num1=num1
# list1=[]
# for i in range(2,num1):
# while num1%i==0:
# num1//=i
# list1.append(str(i))
# print(list1)
# print('%s=%s'%(old_num1,'*'.join(list1)))
#列表推導式
# nums=int(input('請輸入人數'))
# p=[i for i in range(1,nums+1) if i>5] #推導式
# print(p)
#
# p2=[(i,j) for i in range(1,nums+1) for j in range(10) if i>5 and j>5]
# print(p2)
#字符串推導式 不存在
#集合推導式
# set1={i for i in range(10)}
# print(set1)
#字典推導式
# dict1={k:v for k in range(10) for v in range(3)}
# print(dict1)
#生成器推導式
#l=(i for i in range(5))
#print(list(l))