python练习程序(c100经典例14)】的更多相关文章

题目: 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. def foo(n): while 1: for i in range(2,n+1): if n%i==0: print i, n=n/i; break; if n==1: break; for i in range(1,100): foo(i) print…
题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下一个桃子了.求第一天共摘了多少. def foo(day): sum=1; for i in range(0,day-1): sum=(sum+1)*2; print sum foo(10)…
题目: 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? def foo(height,num): sum=height; preh=0; for i in range(0,num): height=height/2.0; sum=sum+preh*2; preh=height print sum,height foo(100,10)…
题目: 一个数如果恰好等于它的因子之和,这个数就称为“完数”.例如6=1+2+3.编程找出1000以内的所有完数. def foo(a): sra=a; lis=[1]; while 1: for i in range(2,a+1): if a%i==0: lis.append(i) a=a/i; break; if a==1: break; l=len(lis); sum=0; for i in range(0,l): sum=sum+lis[i]; if sum==sra: print sr…
题目: 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. def foo(a,n): sum=0; sra=a; for i in range(0,n): sum=sum+a; b=a*10+sra; a=b; print sum foo(2,5)…
题目: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. def foo(a): l=len(a); letters=0; space=0; digit=0; others=0; for i in range(0,l): num=ord(a[i]) if num>=ord('a') and num<=ord('z') or num>=ord('A') and num<=ord('Z'): letters=letters+1; '): digit=digit+1;…
题目: 输入两个正整数m和n,求其最大公约数和最小公倍数. def foo(a,b): if a<b: (a,b)=(b,a) aa=a; bb=b; while b!=0: tmp=a%b; a=b; b=tmp; print '最大公约数:'+str(a) print '最小公倍数:'+str(aa*bb/a) foo(4,3)…
题目: 利用条件运算符的嵌套来完成此题:学习成绩〉=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. def foo(n): if n>=90: print 'A' , elif n>=60: print 'B' , else: print 'C' , for i in range(1,101): foo(i)…
题目: 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数. for i in range(100,1000): a=i/100; b=(i/10)%10; c=i%10; if a**3+b**3+c**3==i: print i…
题目: 判断101-200之间有多少个素数,并输出所有素数. for i in range(101,201): flag=0; for j in range(2,int(i**(1.0/2))): if i%j==0: flag=1 if flag==0: print i…