第六十四课 编程题
1. 编写一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方等于该数本身,例如153 = 1 * 1 * 1 * 5 * 5 * 5 * 3 * 3 * 3,所以153是“水仙花数”。
for(int i = 100; i<=999; i++)
{
int ge = i % 10;
int shi = (i / 10) % 10;
int bai = i / 100;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai)
{
Console.WriteLine(i);
}
}
三位数中的水仙花数,那就从最小的三位数一个个检查到最大的三位数,所以要在这起见遍历三位数,满足条件的打印出来。
2. 输入任意一个位数未知的整数,输出这个数每一位上的数字,输出的时候,从各位开始输出,霉输出一个数字换一行。
int n= Convert.ToInt32(Console.ReadLine());
while (n > 0)
{
int a = n % 10;
n = n / 10;
Console.WriteLine(a);
}
2. 随机输入一个位数未知的整数,去除这个整数各个位上的0,形成新的数,并输出。输入的数字n大于0,小于1000000。样例输入20603样例输出263
int n= Convert.ToInt32(Console.ReadLine());
int temp = 0;
int i = 1;
while (n > 1)
{
int a = n % 10;
n = n / 10;
if( a > 0)
{
temp += a * i;
i *= 10;
}
}
Console.WriteLine(temp);