【LEETCODE】【史密斯数】
【LEETCODE】【史密斯数】
题目描述
Simth数的概念:一个非素数,其各位之和等于其所有质因数的各位之和。例如:
4=2 2,4=2+2,所以4是一个史密斯数。
22=211,2+2=2+1+1,22也是一个史密斯数。
27=3 33,2+7=3+3+3,27也是一个史密斯数。
解答要求
时间限制:1000ms, 内存限制:100MB
输入
第一行输入一个整数n(1<n<200),表示有n组测试数据。
接下来每行一个数num(1<=num<=5000000)。
输出
对于输入的每一个num,输出大于等于num的最小的史密斯数。
样例
输入样例 1 复制
3
3
4
4937774
输出样例 1
4
4
4937775
提示样例 1
提示
从给出的数开始递增,暴力判断就行。
public static void main(String[] args) {// please define the JAVA input here. For example: Scanner s = new Scanner(System.in);Scanner s = new Scanner(System.in);long n=s.nextLong();for(long i=0;i<n;i++){long num=s.nextLong();while(true){if(isSimthDigit(num)){System.out.println(num);break;}num++;}}// please finish the function body here.// please define the JAVA output here. For example: System.out.println(s.nextInt());}public static boolean isSimthDigit(long num){long sumRight=0;long sumLeft=0;long temp=num;if(isPrime(num)){return false;}//分解质因数for(long i=2;i<=temp;i++){if (temp%i==0){if(i<10){sumRight+=i;}else{sumRight+=getSum(i);}temp/=i;i=1;}}sumLeft=getSum(num);if(sumLeft==sumRight){return true;}return false;}public static boolean isPrime(long num) {for (long i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {return false;}}return true;}public static long getSum(long num){long sum=0;while(num>=10){sum+=num%10;num/=10;}return sum+num;}
【LEETCODE】【史密斯数】相关推荐
- 2019.7.9 校内测试题 史密斯数
题目 史密斯数(smith.cpp,1s,128MB) [问题描述]: 美国有一位数字家名叫阿尔伯特·威兰斯基,他姐夫史密斯非常喜欢研究数学,所以两人经常在一起研讨各种数学问题.有时,两人碰不到一起, ...
- LeetCode 三数之和 — 优化解法
LeetCode 三数之和 - 改进解法 题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复 ...
- 夏季室内甲醛净化 A.O.史密斯数显甲醛净化器让用户更放心
南京2018年8月8日电 /美通社/ -- 在雾霾肆虐的日子里,使用空气净化器来净化室内空气已经成了大家的共识.事实上,除了爆表的PM2.5,我们每个人(包括一家老小)还面临着室内甲醛.细菌病毒等多重 ...
- Smith(史密斯)数的求法
先看一下来自百度百科的关于史密斯数的介绍: 美国有一位数字家名叫阿尔伯特·威兰斯基,他姐夫史密斯非常喜欢研究数学,所以两人经常在一起研讨各种数学问题.有时,两人碰不到一起,就习惯性地用电话交流. 一天 ...
- 史密斯数(C++实现)
若一个合数的质因数分解式逐为位相加之和等于其本身逐位相加之和,则称这个数为smith数.如4937775=3×5×5×65837,而3+5+5+6+5+8+3+7=42,4+9+3+7+7+7+5=4 ...
- leetcode 263, 264, 1201, 313. Ugly Number I, II, III, Super Ugly Number(leetcode 丑数问题合集)
263. Ugly Number https://leetcode.com/problems/ugly-number/ 本题题解由下面的 264. Ugly Number II 改造而来,所以效率会比 ...
- leetcode 两数相加c++_167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1和 index2,其中 index1必须小 ...
- LeetCode 1426. 数元素(哈希set)
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数数组 arr, 对于元素 x ,只有当 x + 1 也在数组 arr 里时,才能记为 1 个数. 如果数组 arr 里有重复的数,每个重复的数 ...
- LeetCode - 1419 数青蛙
题目来源 1419. 数青蛙 - 力扣(LeetCode) 题目描述 给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 "croak" )的组合.由于同 ...
最新文章
- 以太坊C++客户端Aleth源码分析,转账交易和智能合约的入口代码
- 演讲:创新思维框架(2016/北京/国家会议中心)
- 3.9 神经网络解决多分类问题-机器学习笔记-斯坦福吴恩达教授
- 新人与三年经验的交互设计师有多大的差距?
- 纯原生组件化-模块化的探索
- CodeCraft-21 and Codeforces Round #711 (Div. 2)
- 在线编程语言模拟(Java,C,Python,R语言,Ruby,PHP,Perl,Go等)
- 有史以来最伟大的软件开发书籍(国外篇)
- Convirt 2.0 更新到 2.1版本
- 基于Python的直方图匹配
- 山海经鸿蒙boss疲劳,《山海经》十大奇兽:吃了可缓解各种疑难杂症
- 大数据时代没有隐私,我们都在裸奔
- [转载]关于雷电防御_-刘艳红-_新浪博客
- Golang学习——error错误处理浅谈
- tomcat部署静态html网站方法
- 蓝牙音乐和导航语音播放混音卡顿问题
- 怎么搭建自己的播客_如何开始自己的播客(逐步)
- 汽车发动机扭矩,转速,功率
- 如何为php添加背景音乐,flash动画怎么加背景音乐
- 用LaTeX写论文时如何加资助信息