一个四位正整数M满足千位上的数字与百位上的数字之和为9,且十位上的数字与个位上的数字之和 为5,则称M为“九五数”,将“九五数”M的千位上的数字与十位上的数字交换、百位上的数字与个位上的数字交换得到一个新的四位正整数M',则称这个数M'为M的“九五新佳数”,规定 F(M)=(M-M')/99 例如:四位正整数8123,∵8+1=9,2+3=5,∴8123是“九五数”,此时 F(M)=(8123−2381)/99=58; 四位正整数6315,∵6+3=9,但1+5=6≠5,∴6315不是“九五数”. (1)输入两个数判断是否是“九五数”,并说明理由;如果是,求出F(M)。用java代码实现
时间: 2023-03-21 18:01:49 浏览: 240
用Java代码实现:public class NineFiveNumber {
public static void main(String[] args) {
int m1 = 8123;
int m2 = 6315;
// 判断是否是九五数
if (isNineFiveNumber(m1)) {
System.out.println(m1 + "是九五数,F(M)=" + getFM(m1));
} else {
System.out.println(m1 + "不是九五数");
}
if (isNineFiveNumber(m2)) {
System.out.println(m2 + "是九五数,F(M)=" + getFM(m2));
} else {
System.out.println(m2 + "不是九五数");
}
}
// 判断是否是九五数
public static boolean isNineFiveNumber(int m) {
int thousand = m / 1000;
int hundred = m % 1000 / 100;
int ten = m % 100 / 10;
int single = m % 10;
if (thousand + hundred == 9 && ten + single == 5) {
return true;
}
return false;
}
// 计算F(M)
public static int getFM(int m) {
int mPrime = exchangeNumber(m);
return (m - mPrime) / 99;
}
// 九五数交换千位和十位,百位和个位
public static int exchangeNumber(int m) {
int thousand = m / 1000;
int hundred = m % 1000 / 100;
int ten = m % 100 / 10;
int single = m % 10;
return thousand * 1000 + ten * 100 + hundred * 10 + single;
}
}
阅读全文