问题链接:POJ1142 HDU1333 ZOJ1133 Smith Numbers。

题意简述:寻找大于输入数并且最接近的Smith Numbers。

问题分析

Smith Numbers数不是素数,其各位数字之和等于其各个因子的各位数字之和。。

程序说明

函数digitsum()用于计算数的各位数字之和。

函数fact_digitsum用于计算数的各个因子的数字之和,但是若为素数则返回-1。函数中对因子的数量进行了计数,若为1则数为素数。

AC的C++语言程序如下:

/* POJ1142 HDU1333 ZOJ1133 Smith Numbers */#include <iostream>using namespace std;const int BASE10 = 10;inline int digitsum(int n)
{int sum = 0;while(n) {sum += n % BASE10;n /= BASE10;}return sum;
}int fact_digitsum(int n)
{int digitsum2 = 0, count = 0;for(int i=2; i*i<=n; i++) {while(n % i == 0) {count++;digitsum2 += digitsum(i);n /= i;}}if(n > 1 && count)digitsum2 += digitsum(n);if(count == 0)digitsum2 = -1;return digitsum2;
}int main()
{int n;while(cin >> n && n) {for(n++; ; n++) {if(digitsum(n) == fact_digitsum(n)) {cout << n << endl;break;}}}return 0;
}

POJ1142 HDU1333 ZOJ1133 Smith Numbers【质因数分解+素数判定+数位之和】相关推荐

  1. 素数、最大公约数、最下公倍数、质因数分解

    2013-08-18 11:20:43 素数.最大公约数.最下公倍数.质因数分解都是与素数相关的,解决了素数的问题,其他的都可以此为基础求解. 小结: 求1到n之间的素数的基本方法是通过遍历2到sqr ...

  2. C++判断是否为素数、求一个数的因数、质因数分解

    判断一个数是否为素数 #include<iostream> #include<vector> #include<math.h> #include<algori ...

  3. 水仙花数素数质因数分解的C语言实现

    最近,我翻了一下之前的C语言教材,看了三个有意思的小程序,包括:寻找"水仙花数".判断某数是否为素数.对一个数进行质因数分解.我想把这三个东西放到一个程序中,便写下了此文. 算法步 ...

  4. 素数判定质因数分解(数论)(Miller Rabin)(Pollard Rho)

    太玄学了! 我真的被概率的魅力折服了.此前我认为1便是1,0.9999999999-便是0.9999999999-. 但实际上它们有着千丝万缕的关系. 试想,如果一件事发生的概率是0.99999999 ...

  5. Smith Numbers POJ - 1142 (暴力+分治)

    题意:给定一个N,求一个大于N的最小的Smith Numbers,Smith Numbers是一个合数,且分解质因数之后上质因子每一位上的数字之和 等于 其本身每一位数字之和(别的博客偷的题意) 思路 ...

  6. ACMNO.39 分解质因数 求出区间[a,b]中所有整数的质因数分解。蓝桥杯训练!

    题目描述 求出区间[a,b]中所有整数的质因数分解. 输入 输入两个整数a,b. 输出 每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大 ...

  7. C++实现质因数分解

    质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数):否则称为合数.根据算术基本定理,每一个比1大的整数,要 ...

  8. bzoj2721樱花——质因数分解

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2721 可以知道 x 和 y 一定都大于 n! ,不妨把 y 表示为 n!+t : 那么 1/ ...

  9. 数学概念——J - 数论,质因数分解

    J - 数论,质因数分解 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

最新文章

  1. cms基于nodejs_我如何使基于CMS的网站脱机工作
  2. 吴恩达家免费 NLP 课程重磅上线!110 个小视频教你做出聊天机器人,粉丝:我要让娃跟吴恩达姓!...
  3. 《基于PLL分频计数的LED灯闪烁实例》实验记录
  4. 数据库本地的sa有个叉号_搞定sql数据库出错,做自己的大神!
  5. PermGen space处理方法1
  6. 【2011-04-06】SQL Server 2000 日志传送搭建
  7. Mysql对字符串去掉前后空格(trim)或者指定字符
  8. Caddy - Web服务器的新秀 高性能 配置简单 动态代理 负载均衡
  9. 为什么下雨天容易犯困
  10. 组合数据浅析之“幻方”
  11. 史上最详细的hadoop安装教程
  12. 数据库优化---空间换时间优化
  13. 微信小程序实现全局登陆状态
  14. 如何将一段视频做成动图?分享一款视频转gif工具
  15. 如何定义 Symbian WINS模拟器的内存配置
  16. Oracle Number 精度坑
  17. 需求评审会如何做才不会沦为形式主义
  18. Mybatis常用标签详解
  19. 2021年全球指拨开关收入大约420.8百万美元,预计2028年达到519.8百万美元
  20. oracle对某两列求和再求和_分手再狠也不怕,3步让他主动求和

热门文章

  1. 游戏经济系统分析:通货与交易
  2. python要求将字符串循环右移n次_python 基础知识
  3. 一、Nginx源码安装与yum安装
  4. 宾夕法尼亚在线计算机硕士,申请访谈:宾夕法尼亚大学(Upenn)计算机科学(CS)的录取攻略...
  5. bash git 如何切换目录_【git】命令行与本地仓库/远程仓库
  6. delphi 子接口是否实现父接口_您可以从子类接口的接口调用父接口的默认方法吗?...
  7. 机器学习代码实战——朴素贝叶斯(实现垃圾邮件分类)
  8. 多线程—— Queue(储存进程结果)
  9. 泸州市的电子计算机学校名称,泸州电子计算机机械学校2020年招生简介
  10. mysql数据库最多列_mysql多列索引和最左前缀