构造一个函数fun1(n),判断n的每位数是否都不同和,若不同,返回True,否则返回Falsev比如: fun1(21345)返 回True, fun1(12321)返 回False
时间: 2024-01-21 20:17:01 浏览: 33
可以将n转换成字符串,然后遍历字符串中的每一个字符,判断该字符是否在后面的字符中出现过。
下面是实现该函数的代码:
```python
def fun1(n):
s = str(n)
for i in range(len(s)):
if s[i] in s[i+1:]:
return False
return True
```
测试一下该函数:
```python
print(fun1(21345)) # True
print(fun1(12321)) # False
print(fun1(11111)) # False
```
输出结果与预期相符。
相关问题
构造一个函数fun1(n) 判断n的每位数是否都不同
以下是 Python 代码实现:
```python
def fun1(n):
digits = []
while n > 0:
digit = n % 10
if digit in digits:
return False
digits.append(digit)
n //= 10
return True
```
函数 `fun1` 的参数 `n` 表示需要判断的整数。函数使用一个列表 `digits` 记录已经出现过的数字,然后循环处理 `n` 的每一位数字,如果当前数字已经在 `digits` 中出现过,则说明 `n` 的某一位数字重复,直接返回 False。否则将当前数字加入 `digits` 中,继续处理下一位数字,最终返回 True。
编写函数fun(n),返回整数n每一位上数字的和。
以下是函数fun(n)的代码,它可以计算整数n每一位上数字的和:
```c
int fun(int n){
int s=0;
while(n) {
s+=n%10;
n=n/10;
}
return s;
}
```
在主函数中调用fun(n)即可计算整数n每一位上数字的和。例如:
```c
int main(){
int n;
scanf("%d",&n);
printf("%d\n",fun(n));
return 0;
}
```