1.回文数
a=int(input('n')) s=0 w=a while(a): s=s*10+a%10 a//=10 if(s==w): print('yes') else: print('no')
2.质数
import math a=int(input()) b=int(math.sqrt(a))#这里也可以改成a//2 if(a>=1 and a<=3): print('yes') else: for i in range(2,b): if(a%b==0): print('no') break else: continue if(i==b-1 ): print('yes')
设计思路
- 确定什么是素数(质数)
- 为了减少循环次数可以去输入的数的一半或者对该数进行开平方根然后再进行比较
- 如果最后i的值等于了所输入数的一半那么这个数就是合数
3.水仙花数
a=int(input("请输入100-999之间的数字")) if(a>=100 and a<1000): b=a%10 c=a//10%10 d=a//100 if(b**3+c**3+d**3==a): print("这个数是水仙花数%d"%a) else: print("该数不是水仙花数") else: print("输入有误")
设计思路
- 确定什么是水仙花数
- 将输入的数的每一位取出来
- 将取出来的数进行立方相加
- 如果相加与输入的数相等那么这个数就是水仙花数
4.找出所有的水仙花数
for a in range(100,1000): b=a%10 c=a//10%10 d=a//100 if(b**3+c**3+d**3==a): print("水仙花数有: %d"%a)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)