一个四位正整数M满足千位上的数字与百位上的数字之和为9,且十位上的数字与个位上的数字之和 为5,则称M为“九五数”,将“九五数”M的千位上的数字与十位上的数字交换、百位上的数字与个位上的数字交换得到一个新的四位正整数M',则称这个数M'为M的“九五新佳数”,规定 F(M)=(M-M')/99 ,输入两个数判断是否是“九五数”,并说明理由;如果是,求出F(M)。用java代码实现
时间: 2023-03-21 11:01:50 浏览: 113
可以使用以下Java代码来实现:public class NineFiveNumber {
public static void main(String[] args) {
int m1 = 1234;
int m2 = 5678;
if (isNineFiveNumber(m1)) {
int m1Prime = swapDigit(m1);
int fM1 = (m1 - m1Prime) / 99;
System.out.println("数字" + m1 + "是九五数,F(M)=" + fM1);
}
if (isNineFiveNumber(m2)) {
int m2Prime = swapDigit(m2);
int fM2 = (m2 - m2Prime) / 99;
System.out.println("数字" + m2 + "是九五数,F(M)=" + fM2);
}
}
public static boolean isNineFiveNumber(int number) {
int q = number / 1000;
int b = (number / 100) % 10;
int s = (number / 10) % 10;
int g = number % 10;
if (q + b == 9 && s + g == 5) {
return true;
}
return false;
}
public static int swapDigit(int number) {
int q = number / 1000;
int b = (number / 100) % 10;
int s = (number / 10) % 10;
int g = number % 10;
int mPrime = g * 1000 + b * 100 + s * 10 + q;
return mPrime;
}
}
阅读全文