Python 练习实例13(Python 100例)
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序代码:
for i in range(100,1000):
k=i/100
m=i/10%10
n=i%10
if((k*k*k+m*m*m+n*n*n)==i): # m ** 3 + n** 3 + k ** 3
print i
题目39 水仙花数 (南阳理工oj)
时间限制:1000 ms | 内存限制:65535 KB
描述
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
输入
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
如果n是水仙花数就输出Yes
否则输出No
样例输入
153
154
0
样例输出
Yes
No
程序代码:
#include <stdio.h>
int main()
{
int i,a[10],n=0,m,b,c,d;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
n=n+1;
if(a[i]==0)
break;
}
for(i=0;i<(n-1);i++)
{
m=a[i];
b=m/100;
c=m/10%10;
d=m%10;
if((b*b*b+c*c*c+d*d*d)==a[i])
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
}
【程序37】题目:对10个数进行排序 (c语言经典编程实例100题)
程序代码:
#include <stdio.h>
int main()
{
int i,j,a[3][3]={0},n=0,m=0,k=2;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
n=n+a[i][i];
m=m+a[i][k-i];
}
printf("%d,%d\n",n,m);
}