【蓝桥杯】真题优秀解法收录(Java)
·
1.奇怪的捐赠
地产大亨 Q 先生临终的遗愿是:拿出 100 万元给 X 社区的居民抽奖,以稍慰藉心中愧疚。
麻烦的是,他有个很奇怪的要求:
-
100 万元必须被正好分成若干份(不能剩余)。每份必须是 7 的若干次方元。比如:1 元, 7 元, 49 元,343 元,...
-
相同金额的份数不能超过 5 份。
-
在满足上述要求的情况下,分成的份数越多越好!
请你帮忙计算一下,最多可以分为多少份?
public class Main {
public static void main(String[] args) {
// 将1000000转换为7进制字符串
String str = Integer.toString(1000000, 7);
// 计算七进制表示中各位数字之和
int totalParts = 0;
for (int i = 0; i < str.length(); i++) {
totalParts += str.charAt(i) - '0'; // 将字符转换为数字
}
System.out.println(totalParts);
}
}
知识点:
1000000 转换成七进制数有且仅有一个,所以转成七进制数甚至不用考虑单个位置上会超过 5 ,不然这道题就无解了。1000000 转成七进制是 11333311 。
Integer.toString(value, radix) 是 Java 中 Integer 类的一个静态方法
-
第一个参数
1000000是要转换的十进制数值 -
第二个参数
7是目标进制(基数) -
返回值是一个字符串,表示该数字在指定进制下的表示
更多推荐


所有评论(0)