2016年8月22日 星期一

python 程式設計50題測試範例-7

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 位數和為偶數

沒有留言:

張貼留言

零成本學 ESP32!在 Wokwi 打造你的第一個微型氣象站 (ESP32 + DHT22 + 1602 LCD)

零成本學 ESP32!在 Wokwi 打造你的第一個微型氣象站(溫度 濕度) (ESP32 + DHT22 + 1602 LCD) 想學物聯網(IoT)與 ESP32 電子實作,卻擔心接線與電壓規範搞砸嗎?透過強大的線上模擬器 Wokwi ,我們不需要花費任何硬體費用,打開瀏覽器...