博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1142 Smith Numbers(分治法+质因数分解)
阅读量:4659 次
发布时间:2019-06-09

本文共 1007 字,大约阅读时间需要 3 分钟。

题意:

给出一个数n,求大于n的最小数,它满足各位数相加等于该数分解质因数的各位相加。

 

思路:

直接暴力。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 9 int n;10 11 int cacl(int x)12 {13 int sum = 0;14 while (x)15 {16 sum += x % 10;17 x /= 10;18 }19 return sum;20 }21 22 bool isprime(int x)23 {24 int m = sqrt(x + 0.5);25 for (int i = 2; i <= m; i++)26 {27 if (x%i == 0) return false;28 }29 return true;30 }31 32 int solve(int x)33 {34 if (isprime(x))35 return cacl(x);36 else37 {38 int m = sqrt(x + 0.5);39 for (int i = m; i >1;i--)40 if (x%i == 0)41 return solve(i) + solve(x / i);42 }43 }44 45 int main()46 {47 //freopen("D:\\input.txt", "r", stdin);48 while (~scanf("%d", &n) && n)49 {50 for (int i = n + 1;; i++)51 {52 if (!isprime(i) && cacl(i) == solve(i))53 {54 printf("%d\n", i);55 break;56 }57 }58 }59 return 0;60 }

 

转载于:https://www.cnblogs.com/zyb993963526/p/6667141.html

你可能感兴趣的文章
ActionScript实现数组快速去重算法
查看>>
SpringBoot(六) Web Applications: Embedded Containers(嵌入式容器)
查看>>
【BZOJ 4665】 4665: 小w的喜糖 (DP+容斥)
查看>>
python 中关于 djando 的基础操作
查看>>
Git 的 .gitignore 配置
查看>>
Language Integrated Query ----序
查看>>
第一天来
查看>>
【HDU】1542 Atlantis
查看>>
计算机专业的学生必须掌握的五门课程
查看>>
解决Android SDK Manager更新时出现问题
查看>>
Android Studio下“Error:Could not find com.android.tools.build:gradle:2.2.1”的解决方法
查看>>
第二章 第四节 添加SWT库
查看>>
docker file
查看>>
总结一些常见的国际标准化组织
查看>>
webpack 使用经验记录
查看>>
sanic连接mongo
查看>>
python--文件操作
查看>>
乐肖产品逻辑
查看>>
ASA防火墙忘记密码之后的恢复步骤
查看>>
前端之练习1
查看>>