lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

1. 题目

读题

 

数位之积(AC)

现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个位、十位、百位 … …)之乘积等于n,若不存在则输出 -1。

考查点

 

2. 解法

思路

 思路:让n除以从9 - 2的,如果整除:n变为n / i递归,并且将i放入list集合中

代码逻辑

 

具体实现

 

public class MutliSum {
public static void main(String[] args) {
System.out.println(findMinSum(100));
System.out.println(findMinSum(36));
System.out.println(findMinSum(17));
}

public static int findMinSum(int n) {

List<Integer> list = new ArrayList<>();
//是否可以被9到2整除
boolean flag = true;
while (n != 1 && flag) {
for (int i = 9; i >= 2; i--) {
if (n % i == 0) {
list.add(i);
n = n / i;
break;
}
if (i == 2 && n % i != 0) {
flag = false;
}
}
}
if (list.size() == 0) {
return -1;
}
int sum = 0;
for (int i = list.size() - 1; i >= 0; i--) {
sum = sum * 10 + list.get(i);
}
return sum;
}
}

3. 总结

posted on   白露~  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2022-07-18 mysql字符串函数详解
2022-07-18 mysql中的行转列,列转行
2021-07-18 IDEA git 切换分支注意事项
点击右上角即可分享
微信分享提示