欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python求區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和的方法實(shí)例

 更新時(shí)間:2020年10月13日 08:57:27   作者:李江辰  
這篇文章主要給大家介紹了Python對(duì)區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

Python的學(xué)習(xí)記錄與分享——PTA程序設(shè)計(jì)類教學(xué)平臺(tái)。如果你也正在學(xué)習(xí)關(guān)于此類的題目可以仔細(xì)閱讀這篇文章,了解一下循環(huán)結(jié)構(gòu)、素?cái)?shù)的基本語(yǔ)法知識(shí)。

題目:

7-5就區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和 (20分)

【描述】求m-n以內(nèi)所有素?cái)?shù)之和并輸出。‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬素?cái)?shù)指從大于1,且僅能被1和自己整除的整數(shù)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬提示:可以逐一判斷區(qū)間[m,n]之間以內(nèi)每個(gè)數(shù)是否為素?cái)?shù),然后求和。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬若m–n之間無(wú)素?cái)?shù),則輸出“not have prime!”:

輸入格式:

在一行輸入2個(gè)正整數(shù)m,n。m可以大于n。例如計(jì)算1–100之間(包括100),可以輸入100 1

輸出格式:

若有素?cái)?shù),輸出素?cái)?shù)之和的一個(gè)整數(shù),若該區(qū)間沒(méi)有素?cái)?shù)則輸出not have prime!。

輸入樣例:

1 100

輸出樣例:

1060

答案

m, n = map(int, input().split())
sum = 0
if m > n:
  m, n = n, m
for i in range(m, n+1):
  if i != 1:
    for j in range(2, i):
      if i % j == 0:
        break
      else:
        pass
    else:
      sum += i
if sum == 0:
  print('not have prime!')
else:
  print(sum)

詳細(xì)解析:

首先了解什么是素?cái)?shù)

質(zhì)數(shù)(Prime number),又稱素?cái)?shù),指在大于1的自然數(shù)中,除了1和該數(shù)自身外,無(wú)法被其他自然數(shù)整除的數(shù)(也可定義為只有1與該數(shù)本身兩個(gè)因數(shù)的數(shù))。

舉個(gè)例子:7這個(gè)數(shù),從2開(kāi)始一直到6,都不能被它整除,只有1和它本身(7)才能被整除,所以7就是一個(gè)質(zhì)數(shù)。

編寫(xiě)代碼

1. 根據(jù)題目要求:在一行輸入2個(gè)正整數(shù)m,n。

m, n = map(int, input().split())

  map()會(huì)根據(jù)提供的函數(shù)對(duì)指定序列做映射。它的返回結(jié)果是一個(gè)列表在

     ----這里的作用就是將多個(gè)輸入值批量轉(zhuǎn)換成in----

  split()方法指定分隔符對(duì)字符串進(jìn)行切片,如果參數(shù)num 有指定值則僅分隔 num 個(gè)子字符串

    ----這里的作用就是將輸入的一條字符串以空格為分隔符切割----

2. 首先學(xué)會(huì)判斷一個(gè)數(shù)是不是素?cái)?shù)的代碼

i=7    "用7舉例"
for j in range(2, i):  "for循環(huán)讓7除以2-7之間的數(shù)"
  if i % j == 0:
 break   "如果是i除j等于0說(shuō)明不是素?cái)?shù)直接(break)結(jié)束循環(huán)"
 else:
 print("是素?cái)?shù)")

         range(start,end,step=)-----range(開(kāi)始值,結(jié)束值,步長(zhǎng))沒(méi)寫(xiě)默認(rèn)為1

3. 判斷多個(gè)數(shù)是不是素?cái)?shù)

定義一個(gè)i,用for循環(huán)讓i在里面m-n之間取值

for i in range(m, n+1):
  if i != 1:   “開(kāi)始的條件必須是i不能等于1”
    for j in range(2, i):
      if i % j == 0:
        break
      else:
        pass
    else:
      sum += i  “如果是就在sum里面加上這個(gè)(i)素?cái)?shù)”

4. m、n從小到大排序

 上面的素?cái)?shù)判斷都會(huì)了后會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題就是,如果用戶輸入100 1時(shí)運(yùn)行會(huì)發(fā)生錯(cuò)誤那么我們則需要在判斷素?cái)?shù)前保證m是小的值,n是大的值。

if m > n:
  m, n = n, m

5. 輸出答案

if sum == 0:   “如果sum在前面的整個(gè)for循環(huán)里都沒(méi)有素?cái)?shù)加入”
  print('not have prime!')  “那么輸出'not have prime!'”
else:    “否則”
  print(sum)    “輸出答案”
// An highlighted block
var foo = 'bar';

結(jié)束

到此這篇關(guān)于Python求區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和的文章就介紹到這了,更多相關(guān)Python區(qū)間正整數(shù)內(nèi)所有素?cái)?shù)之和內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論