若一个数逆序后得到的数与该数本身相同,则称为幸运数。输入一个正整数,判断是否为幸运数
时间: 2023-05-28 11:08:06 浏览: 111
程序如下:
```python
num = input("请输入一个正整数:")
if num == num[::-1]:
print(num, "是幸运数")
else:
print(num, "不是幸运数")
```
运行结果:
```
请输入一个正整数:121
121 是幸运数
```
相关问题
c语言:若一个数逆序后得到的数和该数本身相同,则称为幸运数 。输入一个正整数, 判断是否为幸运数。若是,则输出"Yes", 否则输出"No"。
实现思路:
首先将输入的正整数转化为字符串,然后再将字符串逆序,最后将逆序后的字符串转化为数值,判断是否与原数值相等即可。
代码实现如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
int num;
char str[20], rev_str[20];
int i, len;
printf("请输入一个正整数:");
scanf("%d", &num);
sprintf(str, "%d", num); // 将数字转化为字符串
len = strlen(str);
for (i = 0; i < len; i++) {
rev_str[i] = str[len - i - 1]; // 逆序操作
}
rev_str[len] = '\0'; // 字符串结尾
if (strcmp(str, rev_str) == 0) { // 判断是否为幸运数
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
测试样例:
(1)输入:12321,输出:Yes
(2)输入:12345,输出:No
输入一个三位的正整数,按逆序打印出该数的各位数字
可以使用以下代码实现:
num = int(input("请输入一个三位的正整数:"))
a = num // 100 # 获取百位数
b = num // 10 % 10 # 获取十位数
c = num % 10 # 获取个位数
print("逆序打印结果为:", c, b, a)
解释一下代码:
1. 首先使用 input() 函数获取用户输入的三位正整数,并使用 int() 函数将其转换为整数类型。
2. 然后使用整除运算符 // 和取模运算符 % 分别获取百位数、十位数和个位数。
3. 最后使用 print() 函数将逆序打印的结果输出到屏幕上。
例如,如果用户输入的是 123,那么程序会输出:
请输入一个三位的正整数:123
逆序打印结果为: 3 2 1
希望能帮到你!