编写一个函数fun(n),求任意整数的逆序数,例如当n=1234时,函数值为4321。
时间: 2024-03-09 17:44:51 浏览: 10
可以将输入的整数转化为字符串,然后反转字符串,最后将反转后的字符串转化为整数即可。以下是该函数的代码实现:
```python
def fun(n):
str_n = str(n)
reversed_str_n = str_n[::-1]
return int(reversed_str_n)
```
使用示例:
```python
print(fun(1234)) # 输出 4321
print(fun(567890)) # 输出 98765
```
注意,这种方法有一个局限性,就是当输入整数的反转后超出了Python整数类型的范围时,会导致计算错误。为了避免这种情况,可以使用其他方法来实现逆序数的求解,比如:循环取余和整除的方法。
相关问题
用c语言,编写一个函数fun(n),求任意整数的逆序数
好的,我来给你写一个求任意整数的逆序数的函数。
函数名:`int fun(int n)`
函数功能:求任意整数的逆序数。
算法思路:将整数n转化为字符串,然后将字符串反转后再转回整数即可得到逆序数。
以下是函数的实现:
```c
#include <stdlib.h>
#include <string.h>
int fun(int n) {
char str[20]; // 定义一个足够大的字符串
sprintf(str, "%d", n); // 将整数n转化为字符串
int len = strlen(str);
for (int i = 0; i < len / 2; i++) { // 反转字符串
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
return atoi(str) - n; // 将反转后的字符串转化为整数并返回逆序数
}
```
使用方法:
```c
int n = 12345;
int inverse = fun(n);
printf("%d的逆序数为%d\n", n, inverse);
```
输出结果:
```
12345的逆序数为4321
```
注意:如果输入的数字本身就是回文数,则逆序数为0。如果输入的数字为负数,则逆序数也为负数。
用c语言,编写一个函数fun(n),求任一整数的逆序数
好的,我来给你写一个求逆序数的函数。
函数名:`int fun(int n)`
函数功能:求任一整数的逆序数。
算法思路:将整数n反转后再与原数n相减即可得到逆序数。
以下是函数的实现:
```c
int fun(int n) {
int reversed = 0; // 反转后的数字
int origin = n; // 原始数字
while (n != 0) { // 反转数字
reversed = reversed * 10 + n % 10;
n /= 10;
}
return reversed - origin; // 返回逆序数
}
```
使用方法:
```c
int n = 12345;
int inverse = fun(n);
printf("%d的逆序数为%d\n", n, inverse);
```
输出结果:
```
12345的逆序数为-11106
```
注意:如果输入的数字本身就是回文数,则逆序数为0。如果输入的数字为负数,则逆序数也为负数。