POJ1142 HDU1333 ZOJ1133 Smith Numbers【质因数分解+素数判定+数位之和】
来源:互联网 发布:软件质量属性 编辑:程序博客网 时间:2024/06/06 01:35
问题链接: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;}
阅读全文
0 0
- POJ1142 HDU1333 ZOJ1133 Smith Numbers【质因数分解+素数判定+数位之和】
- UVALive2203 UVa10042 Smith Numbers【质因数分解+素数判定+数位之和】
- Smith Numbers(Poj1142)(质因数分解+素数判定)
- hdu1333/poj1142-Smith Numbers
- Smith Numbers hdu1333 素数
- Smith Numbers(分解质因数)
- POJ1142 暴力质因数分解+素数测试
- poj1142 Smith Numbers
- poj1142 Smith Numbers
- poj1142 Smith Numbers
- POJ 1142 Smith Numbers【Euler分解质因数】
- poj1142(质因数分解)
- poj1142(质因数分解)
- POJ1142——Smith Numbers
- poj 1811 (素数判定+质因数分解)
- 分解质因数——Poj 1142 Smith Numbers
- Miller_Robin素数判定和Pollard_rho质因数分解模板
- POJ 1811 Prime Test(大素数判定+质因数分解)
- 数学资源汇总
- 主机MAC VitualBox中ubuntu挂载MAC共享文件夹
- 交换机生成树协议STP的配置命令
- House Robber II (houses are arranged in a circle)
- java加密与解密的艺术(五)——数字签名
- POJ1142 HDU1333 ZOJ1133 Smith Numbers【质因数分解+素数判定+数位之和】
- HTML head 头部分的标签
- scrollview嵌套listview 嵌套HorizontalScrollView嵌套gridview 焦点及卡顿问题
- POJ 2481 Cows 题解
- TableView基础(view上添加tableView)
- Unity3D中UGUI及3D模型渲染的DrawCall优化
- nvm安装node.js
- Android——属性动画
- DP新阶段学习总结