Python 练习实例18 Python 100例
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
程序分析:关键是计算出每一项的值。
程序代码:
m=int(raw_input('number:'))
n=int(raw_input("cishu:"))
k=m
sum=m
print m
for i in range(1,n):
m=k+m*10
sum=sum+m
print m
print sum
Python 练习实例19 Python 100例
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
程序分析:请参照程序Python 练习实例14。
程序代码:
for i in range(2,1001):
sum=0
for j in range(1,i):
if(i%j==0):
sum=sum+j
if(sum==i):
print sum
题目40 公约数和公倍数 (南阳oj)
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。
输入
第一行输入一个整数n(0<n<=10000),表示有n组测试数据;
随后的n行输入两个整数i,j(0<i,j<=32767)。
输出
输出每组测试数据的最大公约数和最小公倍数
样例输入
3
6 6
12 11
33 22
样例输出
6 6
1 132
11 66
程序代码:
#include<stdio.h>
int main()
{
int a,b,c,m,n,k,i;
scanf("%d",&k);
for(i=0;i<k;i++)
{
scanf("%d%d",&a,&b);
m=a;
n=b;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
printf("%d %d\n",a,m*n/a);
}
}
网友评论