|
发表于 2016-5-6 17:08:23
|
显示全部楼层
- # -*- coding: utf-8 -*-
- """
- Created on Fri May 6 09:34:52 2016
- @author:
- """
- #定义一个计算约数个数的函数
- def count_divisor(n):
- t = int(n/2)
- divisor_n=2
- while t>1:
- if n%t == 0:
- t = t-1
- divisor_n = divisor_n+1
- #print(t,divisor_n)
- else:
- t = t-1
- #print(t)
- return(divisor_n)
- #定义一个产生三角形数的函数
- def delta(n):
- sumn = 0
- i=1
- while i<n:
- sumn = sumn+i
- i = i+1
- return(sumn)
- #初始化,y是判断约数个数是否大于500的一个开关,C是三角形数的层数
- y=1
- c=1
- #从第一层三角形数开始,当约数个数是500时,则结束,打印;不是的时候层数加1
- while y>0:
- number = delta(c)
- divisor = count_divisor(number)
- if divisor==500:
- y=0
- print("这个数是:%i"%number)
- print("约数个数:%i"%divisor)
- else:
- c = c+1
- print(c,number,divisor)
复制代码
这是笨办法 |
评分
-
查看全部评分
|