题目: 将一个正整数分解质因数.例如:输入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
题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? num=0; for i in range(1,5): for j in range(1,5): for k in range(1,5): if i!=j and j!=k and i!=k: print i,j,k; num=num+1; print "一共有"+str(num)+"个排列"
题目: 输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 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; elif num>=ord('0
题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下一个桃子了.求第一天共摘了多少. def foo(day): sum=1; for i in range(0,day-1): sum=(sum+1)*2; print sum foo(10)
题目: 求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)
题目: 一个数如果恰好等于它的因子之和,这个数就称为“完数”.例如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