1.编写一共程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方等于该数本身。

1.要求:例如153=111+555+333,所以153是“水仙花”。

2.输入153

1
2
3
4
5
6
7
8
9
10
11
{
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);
}
}

3.输出结果:

1
2
3
370
371
407

随机一个未知的整数,去除这个整数各个位上的0,形成新的数,并输出。

1.要求:输入的数字n大于0,小于1000000。

2.输入2020

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int a= Convert.ToInt32(Console.ReadLine()); //2020
int sum = 0;
int cheng = 1;
while(a != 0)
{
int i = a % 10;//0 202 //2 20//0 2 //2
if(i != 0)
{
i *= cheng; //2 //2
sum+= i;//2 //2
cheng *= 10;//20 //20
}
a = a / 10; //2 //2
}
Console.WriteLine(sum); //22

3.输出结果:

1
22

随机数入一个整数num,输出一个新的数,新数恰好与原数每一位上的数字相反(如果原数末尾有多个零,输出的新数高位不含0)

1.样例输入8736 输出6378
样例输入2300 输出32

2.输入8736

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int num=Convert.ToInt32(Console.ReadLine());//8736
bool yudao = false; //默认还没有遇到第一个非0
while (num!=0) //从第到高位遍历
{
int i = num % 10; //6 873
//判断是否遇到了第一个非0数字
//已经遇到了第一个非0数字
//不需要去掉0了
//还没有遇到第一个非0数字
//去掉
if (yudao == false)//还没有遇到第一个非0数字
{
if(i != 0)//i=6
{
Console.Write(i);
//标志位,标志是否达到了某个条件
yudao= true;//确定i!=0时,停止判断
}

}
else//i=3
{
Console.Write(i);
}
num = num / 10;//8736 873

3.输出结果

1
6378

回文数和倒序读都是一样的整数。输入一个数,判断是否是回文数。输入的整数大于0,小于1000000。

1.要求:如果是回文输出yes,不是输出no。
2.输入2397

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 int n=Convert.ToInt32(Console.ReadLine());//2992
int tempN = n;
int number = 0;
while (tempN != 0)
{
int i = tempN % 10;//2 299 //9 29 //9 2 //2
number *= 10;//0*10=0 //20 //290 //2990
number += i;//2 //29 //299 //2992
tempN = tempN / 10;//299 //29 //2 //0
}
if (number == n)
{
Console.WriteLine("yes");
}
else
{
Console.WriteLine("no");
}

3.输出结果:

1
no