programming-challenges Smith Numbers (110706) 题解
来源:互联网 发布:外贸英语的软件 编辑:程序博客网 时间:2024/06/01 07:24
nothing special
#include <iostream>#include <sstream>#include <fstream>#include <string>#include <vector>#include <list>#include <queue>#include <map>#include <set>#include <stack>#include <assert.h>#include <algorithm>#include <math.h>#include <ctime>#include <functional>#include <string.h>#include <stdio.h>#include <numeric>#include <float.h>using namespace std;const int PRIMESIZE = 32000;vector<int> primes; void getPrimes() {vector<bool> visited(PRIMESIZE);int sq = sqrt((double)PRIMESIZE);for (int i = 2; i <= sq; i++) {if (!visited[i]) {primes.push_back(i);for (int j = i + i; j < PRIMESIZE; j+=i) {visited[j] = true;}}}for (int i = sq + 1; i < PRIMESIZE; i++)if (!visited[i]) primes.push_back(i);}int getNumberSum(int num) {int result = 0;while (num >= 10) {result += (num % 10); num /= 10; }return result + num; }int primeFactorSum(int num) {int result = 0; int sq = sqrt(num); int factorNum = 0; for (int i = 0; i < primes.size(); i++) {if (primes[i] > num) break;while (num % primes[i] == 0) {factorNum++; result += getNumberSum(primes[i]);num /= primes[i]; }}if (num > 1) {factorNum++;result += getNumberSum(num);}if (factorNum == 1) return -1; return result; }int main() {getPrimes();int tc = 0; cin >> tc; for (int i = 0; i < tc; i++) {int num = 0; cin >> num; do {num++; if (getNumberSum(num) == primeFactorSum(num)) {cout << num << endl; break;}} while (true);}return 0; }
0 0
- programming-challenges Smith Numbers (110706) 题解
- programming-challenges Carmichael Numbers (110702) 题解
- programming-challenges Erdös Numbers (110206) 题解
- programming-challenges WERTYU (110301) 题解
- programming-challenges ShellSort (110407) 题解
- programming-challenges Ones (110504) 题解
- programming-challenges Chopsticks (111107) 题解
- programming-challenges Bicoloring (110901) 题解
- 110706 Smith Numbers
- programming-challenges Crypt Kicker (110204) 题解
- programming-challenges Stack 'em Up (110205) 题解
- programming-challenges Poker Hands (110202) 题解
- programming-challenges Contest Scoreboard (110207) 题解
- programming-challenges Where's Waldorf? (110302) 题解
- programming-challenges Common Permutation (110303) 题解
- programming-challenges Crypt Kicker II (110304) 题解
- programming-challenges Automated Judge Script (110305) 题解
- programming-challenges File Fragmentation (110306) 题解
- A2.2.4继承与多态 P376
- C++中Operator类型强制转换成员函数解析
- 关于jvm的几点学习
- Configure multiple view resolvers priority in Spring MVC
- Spring MVC BeanNameUrlHandlerMapping example
- programming-challenges Smith Numbers (110706) 题解
- Spring MVC ControllerClassNameHandlerMapping example
- 【bzoj1965】【Ahoi2005】【SHUFFLE 洗牌】【快速幂】
- iOS开发系列之Objective-C基础:NSString字符串类型(二)
- swift 类型定义
- mysql数据同步
- 网站每天被抓取新页面的经验心得ccxtqj
- Spring MVC SimpleUrlHandlerMapping example
- Configure the handler mapping priority in Spring MVC