python(斐波那契、素数、闰年、水仙花、回文数)

斐波那契定义:

        斐波那契数列是指这样一个数列:1,1,2,3,5,8,13,21,34,55,89……这个数列从第3项开始 ,每一项都等于前两项之和。

#编写一个Python程序,输出斐波那契数列的前20项
a,b = 0,1
for i in range(20):
    a, b = b, a + b
    print(a, end=' ')


print()

 质数:

        质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数);
否则称为合数.根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的.
只有1和它本身两个因数的自然数,叫质数(或称素数).(如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个约数,所以2就是质数.与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数.”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数.)100以内的质数有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97,在100内共有25个质数.

# 编写一个Python程序,输出1到100之间的所有素数
for x in range(2, 101):
   for y in range(2, x):
      if x%y == 0:
         break
   else:
      print(x, end=" ")

 闰年:

        非世纪年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年,1999年不是闰年);
世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)。
# 输入一个年份,判断其是否为闰年
try:
    yeas = int(input('请输入一个年份:'))
except ValueError as e:
    print('输入的年份格式错误请重新输入')
    print(e)
else:
    if (yeas % 100 != 0 and yeas % 4 == 0) or (yeas % 100 == 0 and yeas % 400 == 0):
        print('是闰年')
    else:
        print('不是闰年')

水仙花:

        水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

# 求1000以内的水仙花数
for i in range(1, 1000):
    get_100 = i // 100
    get_10 = i % 100 // 10
    get_0 = i % 100 % 10
    if get_100 ** 3 + get_10 ** 3 + get_0 ** 3 == i and i>100:
        print("{}是水仙花数。".format(i))

回文数:

        “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。 [1]设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。 [1]注意:1.偶数个的数字也有回文数1244212.小数没有回文数

# 编写一个程序,接受用户输入的字符串 
num = input('请输入一个数字:')
reversed_num = num[::-1]
if(num == reversed_num):
    print('是回文串')
else:
    print('不是回文串')

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值