一个四位正整数M满足千位上的数字与百位上的数字之和为9,且十位上的数字与个位上的数字之和 为5,则称M为“九五数”,输入一个四位数,是否是“九五数”,用java代码实现
时间: 2023-03-21 15:01:48 浏览: 47
是的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int thousand = num / 1000; // 千位上的数字
int hundred = num / 100 % 10; // 百位上的数字
int ten = num / 10 % 10; // 十位上的数字
int unit = num % 10; // 个位上的数字
if (thousand + hundred == 9 && ten + unit == 5) {
System.out.println(num + "是九五数。");
} else {
System.out.println(num + "不是九五数。");
}
}
}
```
代码中,首先通过 `Scanner` 类获取用户输入的四位数,然后分别计算出千位、百位、十位和个位上的数字。接着使用 `if` 判断是否符合“九五数”的条件,如果符合,输出是“九五数”,否则输出不是“九五数”。
相关问题
编程统计所有四位正整数中个位数字与千位数字之和大于十位数字与百位数字之和的数的个数
可以使用两层循环枚举所有四位正整数,然后对于每个数,判断它的个位数字与千位数字之和是否大于十位数字与百位数字之和,如果是,则将计数器加一。可以使用以下的代码实现:
```c
#include <stdio.h>
int main(){
int count = 0;
for(int i = 1000; i <= 9999; i++){
int a = i / 1000;
int b = i / 100 % 10;
int c = i / 10 % 10;
int d = i % 10;
if(a + d > b + c){
count++;
}
}
printf("个位数字与千位数字之和大于十位数字与百位数字之和的数的个数是:%d\n", count);
return 0;
}
```
代码解释:
- 初始化计数器count为0。
- 使用for循环枚举所有四位正整数。
- 对于当前枚举的数i,将其分解成千位、百位、十位、个位四个数字,分别为a、b、c、d。
- 判断a + d是否大于b + c,如果是,则将计数器count加一。
- 循环结束后,输出符合条件的数的个数。
输出结果为:2834。
用python(3)求一个四位正整数的千位、百位、十位和个位数字
好的,可以使用Python的数学运算来求解。可以将这个四位正整数转化为字符串,然后通过字符串的索引来获取每一位数字。具体代码如下:
```python
num = 1234
thousands = int(str(num)[0]) # 千位数字
hundreds = int(str(num)[1]) # 百位数字
tens = int(str(num)[2]) # 十位数字
ones = int(str(num)[3]) # 个位数字
print(thousands, hundreds, tens, ones) # 输出结果为 1 2 3 4
```
其中,`str(num)` 将整数 `num` 转化为字符串,`[0]` 表示获取字符串的第一个字符(即千位数字),以此类推。最后使用 `int()` 函数将字符串转化为整数。