7、輸入一連串數字(<20個數字)直到0,對每一個數字判斷下列
(1)是否為7、11、13的倍數 (2)位數和為奇數或偶數
(3)平方根為何? (4)是否為質數?
(5)列出所有質因數
輸入範例一
|
10001
|
輸出範例一
|
(1) 不為7,11,13的倍數
(2) 位數和為偶數
(3) 平方根為100.00499
(4) 不是質數
(5) 73*137
|
輸入範例二
|
100001
|
輸出範例二
|
(1) 不為7,11,13的倍數
(2) 位數和為偶數
(3) 平方根316.29347
(4) 不是質數
(5) 11*9091
|
輸入範例三
|
65537
|
輸出範例三
|
(1) 不為7,11,13的倍數
(2) 位數和為偶數
(3) 平方根為256.0019
(4) 是質數
(5) 65537
|
輸入範例四
|
1
|
輸出範例四
|
(1) 不為7,11,13的倍數
(2) 位數和為奇數
(3) 平方根為1
(4) 不是質數
(5)
|
輸入範例五
|
2
|
輸出範例五
|
(1) 不為7,11,13的倍數
(2) 位數和為偶數
(3) 平方根為1.414
(4) 是質數
(5) 2
|
程式
#coding:Big5
#輸入一數字,列出所有質因數
#7、輸入一連串數字(<20個數字)直到0,對每一個數字判斷下列
# (1)是否為7、11、13的倍數 (2)位數和為奇數或偶數
# (3)平方根為何? (4)是否為質數?
# (5)列出所有質因數
print("7、輸入一連串數字(<20個數字)直到0,對每一個數字判斷下列")
print(" (1)是否為7、11、13的倍數 (2)位數和為奇數或偶數")
print(" (3)平方根為何? (4)是否為質數?")
print(" (5)列出所有質因數")
print()
n=1
while (n==1):
print ("輸入一數字,列出所有質因數")
while True:
P = input('請輸入 P (整數) :')
try:
P = int(P)
except ValueError:
print ('這是不合法的輸入. 請再輸入一次...')
continue
if ( P >= 0 ):
break
print()
if P==0:
n=0
print(P,"的質因數有",end="")
i=2
P1=P
k=0
while (P>1):
while(P%i==0):
print(i," ",end="");
P=P/i
k=k+1
i=i+1
print()
print()
if k==1 :
print(P1,"是一個質數")
else :
print(P1,"不是一個質數")
print()
P=P1**0.5
print(P1,"的平方根=",'{:6.4f}'.format(P))
print()
if (P1%7!=0) and (P1%11!=0) and (P1%13!=0):
print(P1,"不為7或11或13的倍數")
else :
print(P1,"為7或11或13的倍數")
print()
P2=str(P1)
k=0
for i in P2 :
k=int(i)+k
if (k%2==0) :
print(P1,"位數和",k,"為偶數")
else :
print(P1,"位數和",k,"為奇數")
print()
結果
================== RESTART: D:/程式語言 Python 入門/50題/Ex50-7.py ==================
7、輸入一連串數字(<20個數字)直到0,對每一個數字判斷下列
(1)是否為7、11、13的倍數 (2)位數和為奇數或偶數
(3)平方根為何? (4)是否為質數?
(5)列出所有質因數
輸入一數字,列出所有質因數
請輸入 P (整數) :10001
10001 的質因數有73 137
10001 不是一個質數
10001 的平方根= 100.0050
10001 不為7或11或13的倍數
10001 位數和為偶數
沒有留言:
張貼留言