内容正文:
3.8 枚举算法及其程序实现
1. 下列问题中适合枚举算法的是 渊 冤
A. 输入圆半径计算圆面积
B. 计算两个电阻的并联值
C. 网上在线购买 2023版新课程信息技术教辅资料
D. 找出 10000以内能被 3和 5整除袁同时又是回文数的整数
2. 打印出所有的野水仙花数冶袁所谓水仙花数是指一个三位数袁它的每个位上的数字的 3次幂之
和等于它本身渊例如:1^3+5^3+3^3=153冤袁如果将所有的三位数一一列举袁逐个判断袁横线处应填
渊 冤
for i in range( ):
b=i//100
s=i%100//10
g=i%10
if b**3+s**3+g**3==i:
print(i)
A. 100 to 999 B. 100,999 C. 100,1000 D. 100 1000
3. 用枚举算法输出 100以内既能被 3整除又能被 5整除的数据袁下列选项中 Python程序处理有
误的是 渊 冤
A. for i in range(1,101):
if i%3==0 and i%5==0:
print(i)
B. for i in range(1,101):
if i%15==0:
print(i)
C. for i in range(15,101,15):
print(i)
D. for i in range(1,101//15):
print(i*15)
4. 有如下 Python程序段院
list1=咱暂
for i in range(100,1000):
if i%3==0 and i%5==1 and i%7==2:
list1.append(i)
print(list1)
print(len(list1))
阅读上面代码袁结合枚举算法三要素袁回答下列问题院
渊1冤枚举变量 i的范围是 遥
渊2冤枚举变量 i的判断条件是 遥
136
渊3冤存储枚举算法正确解的是 遥
渊4冤枚举算法正确解的总个数是 遥
5. 有四个数字院1尧2尧3尧4袁能组成多少个互不相同且无重复数字的三位数钥 输出所有满足条件的
三位数的组合遥 Python代码如下袁请在画线处填入合适的代码遥
a=咱暂
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
num=100*i+10*j+k
if i! =j and j! =k and 淤 :
a.append(num)
print( 于 ,"个",a)
淤
于
6. 百钱买百鸡院公鸡一只五块钱袁母鸡一只三块钱袁小鸡三只一块钱袁现在要用一百块钱买一百
只鸡袁问院公鸡尧母鸡尧小鸡各多少只钥 编写 Python代码如下院
num=0
for cock in range(1,101) #淤
for hen in range(1,101) #于
chick=100-cock-hen
if cock*5+hen*3+chick//3==100:
print('公鸡:',cock,'母鸡:',hen,'小鸡:',chick)
num+=1
print('正确解数量:',num)
渊1冤由题意可知袁100块钱不可能买到 100只公鸡袁根据公鸡数量优化变量 cock枚举范围遥 方
框淤处可以修改为 遥
渊2冤同理袁100块钱不可能买到 100只母鸡袁根据题中母鸡数量优化变量 hen的枚举范围遥方框
于处可以修改为 遥
7. 哥德巴赫猜想院任意大于等于 4的偶数都可以写成两个质数之和遥 请输入一个大于 4 的整
数袁编写 Python程序对其进行检验遥
import math
def prime(m):
if m<=1:return False
k= 淤
137
for i in range(2,k+1):
if m%i==0:return False
return True
#由于 4=2+2这组数据没有问题浴 下面袁我们只检测大于 4的偶数
n=int(input("请输入大于 4的整数:"))
for i in range( 2,n,2 ):
if prime(i) and 于 :
print(n,'=',i,'+',n-i)
渊1冤请在程序画线处填入合适代码遥
淤
于
渊2冤方框处的代码应修改为 遥
渊3冤代码分析运行程序袁若变量 n中输入的值是 18袁则输出结果是 遥
8. 输出咱a,b暂之间所有的孪生素数对遥孪生素数就是指相差 2的素数对袁例如 3和 5袁5和 7袁11和
13噎噎遥孪生素数对可以这样描述院存在无穷多个素数 p袁使得 p+2是素数遥素数对(p,p+2)称为
孪生素数遥 实现上诉功能的 Python代码如下遥 请在画线处填入合适的代码遥
def prime(n):
淤
for i in rang