从键盘输入一个整数n,将n的各位数中的奇数数字取出,进行排列。输出最大数的排列。
时间: 2023-05-30 14:03:48 浏览: 31
思路:
1. 用字符串s存储输入的整数n。
2. 遍历字符串s,将其中的奇数数字存储到一个列表odd中。
3. 对odd进行从大到小的排序。
4. 将排序后的odd中的数字按顺序组成一个新的字符串,即为最大数的排列。
代码实现:
```python
n = input("请输入一个整数:")
s = str(n)
odd = []
for i in s:
if int(i) % 2 == 1: # 判断奇数
odd.append(i)
odd.sort(reverse=True) # 从大到小排序
max_num = ''.join(odd) # 将列表中的数字按顺序组成新的字符串
print("最大数的排列为:", max_num)
```
示例输出:
```
请输入一个整数:123456789
最大数的排列为:97531
```
相关问题
用java编写一个程序:从键盘输入一个整数n,将n的各位数中的奇数数字取出,进行排列。输出最大数的排列。
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
List<Integer> oddList = new ArrayList<>(); // 存储各位数中的奇数数字
while (n > 0) {
int digit = n % 10;
if (digit % 2 != 0) {
oddList.add(digit);
}
n /= 10;
}
Collections.sort(oddList, Collections.reverseOrder()); // 降序排列
int maxNum = 0;
for (int i = 0; i < oddList.size(); i++) {
maxNum += Math.pow(10, i) * oddList.get(i);
}
System.out.println(maxNum);
}
}
```
示例输入:
```
368724
```
示例输出:
```
873
```
用java编写一个程序:从键盘输入一个整数n,将n的各位数中的奇数数字取出,进行排列。输出最小数的排列。
```
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = String.valueOf(n); // 将整数n转化为字符串
List<Integer> oddDigits = new ArrayList<>(); // 用于存储n的奇数位数字
for (int i = 0; i < s.length(); i++) {
int digit = s.charAt(i) - '0'; // 将字符转化为数字
if (digit % 2 == 1) { // 判断是否为奇数
oddDigits.add(digit);
}
}
Collections.sort(oddDigits); // 对奇数位数字进行排序
StringBuilder sb = new StringBuilder();
for (int digit : oddDigits) { // 将奇数位数字拼接成字符串
sb.append(digit);
}
if (sb.toString().equals("")) { // 如果没有奇数位数字,则输出0
System.out.println(0);
} else {
System.out.println(sb.toString());
}
}
}
```
相关推荐
















