Smith Numbers POJ - 1142 暴力递归枚举
题意:
给你一个数x,把这个分解成素数之积(假设是x1*x2*x3),如果 x的每一数位的和 等于 x1每一数位的和加上x2每一数位的和加上x3每一数位的和,那么他就是题目要找的数
示例:
4937775 = 3 * 5 * 5 * 65837
电话号码的所有数字的和为4+9+3+7+7+7+5= 42,其质因数的数字的和为3+5+5+6+5+ 5+8+3+7=42。
题解:
暴力,具体见代码
代码:
- 1 #include<stdio.h>
- 2 #include<string.h>
- 3 #include<iostream>
- 4 #include<algorithm>
- 5 #include<math.h>
- 6 using namespace std;
- 7 typedef long long ll;
- 8 const int maxn=100005;
- 9 bool isprim(int x)
- 10 {
- 11 for(int i=2;i<=sqrt(x);++i)
- 12 {
- 13 if(x%i==0) return 0;
- 14 }
- 15 return 1;
- 16 }
- 17 int get_sum(int x)
- 18 {
- 19 int ans=0;
- 20 while(x)
- 21 {
- 22 ans+=x%10;
- 23 x/=10;
- 24 }
- 25 return ans;
- 26 }
- 27 int digui(int x)
- 28 {
- 29 int temp=sqrt(x);
- 30 if(isprim(x))
- 31 return get_sum(x);
- 32 else
- 33 {
- 34 for(int i=2;i<=temp;++i) //这个for循环作用就是找一个x的因子
- 35 {
- 36 if(x%i==0)
- 37 return digui(i)+digui(x/i);
- 38 }
- 39 }
- 40 }
- 41 int main()
- 42 {
- 43 int n;
- 44 while(~scanf("%d",&n) && n)
- 45 {
- 46 while(n++)
- 47 {
- 48 if(!isprim(n) && digui(n)==get_sum(n))
- 49 break;
- 50 }
- 51 printf("%d\n",n);
- 52 }
- 53 return 0;
- 54 }
Smith Numbers POJ - 1142 暴力递归枚举的更多相关文章
- Smith Numbers POJ - 1142 (暴力+分治)
题意:给定一个N,求一个大于N的最小的Smith Numbers,Smith Numbers是一个合数,且分解质因数之后上质因子每一位上的数字之和 等于 其本身每一位数字之和(别的博客偷的题意) 思路 ...
- A - Smith Numbers POJ
While skimming his phone directory in 1982, Albert Wilansky, a mathematician of Lehigh University,no ...
- POJ 1142 Smith Numbers(史密斯数)
Description 题目描述 While skimming his phone directory in 1982, Albert Wilansky, a mathematician of Leh ...
- POJ 1142:Smith Numbers(分解质因数)
Smith Numbers Time Limit: 1000MS Memory Limit: 10000K Total Submiss ...
- poj 1142 Smith Numbers
Description While skimming his phone directory in 1982, Albert Wilansky, a mathematician of Lehigh U ...
- POJ 1753 位运算+枚举
题意: 给出4*4的棋盘,只有黑棋和白棋,问你最少几步可以使棋子的颜色一样. 游戏规则是:如果翻动一个棋子,则该棋子上下左右的棋子也会翻一面,棋子正反面颜色相反. 思路: 都是暴搜枚举. 第一种方法: ...
- Smith Numbers - PC110706
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/uva10042.html 原创:Smit ...
- POJ 2182/暴力/BIT/线段树
POJ 2182 暴力 /* 题意: 一个带有权值[1,n]的序列,给出每个数的前面比该数小的数的个数,当然比一个数前面比第一个数小的个数是0,省略不写,求真正的序列.(拗口) 首先想到的是从前到后暴 ...
- poj1142 Smith Numbers
Poj1142 Smith Numbers Smith Numbers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13854 ...
随机推荐
- Openstack glance 镜像服务 (五)
Openstack glance 镜像服务 (五) 引用: 官方文档glance安装 https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/ ...
- redis持久化怎么选?成年人从来不做选择...
前言 面试官:你知道 redis 是的怎么做持久化的吗? 我:我知道 redis 有两种方式,一种是 RDB,一种是 AOF. 面试官:那这两种方式具体是怎么做的,它们的区别是什么,生产环境中到底应该 ...
- 更改mysql的密码
mysql> set password for 'root'@'localhost' =PASSWORD('');Query OK, 0 rows affected (0.17 sec) mys ...
- 【MySQL】CentOS7中使用systemctl工具管理启动和停止MySQL
centos7以前版本,可以使用这个/etc/init.d/mysqld start 来启动mysql 但是centos7之后,通过systemctl start mysqld.service 这个要 ...
- 【EXPDP/IMPDP】ORACLE数据泵导入导出案例(expdp & impdp)
概要: 因项目需要,通常需要将生产库下的部分数据抽取并恢复到测试库上 本文主要介绍数据泵导入导出的几种情况以及错误处理 案例环境: rhel-server-6.5-x86_64 oracle 11.2 ...
- SDUST数据结构 - chap6 树与二叉树
判断题: 选择题: 函数题: 6-1 求二叉树高度: 裁判测试程序样例: #include <stdio.h> #include <stdlib.h> typedef char ...
- 攻防世界—pwn—hello_pwn
题目分析 下载文件后首先使用checksec检查文件保护机制 使用ida查看伪代码 思路明确,让dword_60106C == 1853186401即可输出flag 信息收集 偏移量 sub_4006 ...
- USB限流芯片,4.8A最大,过压关闭6V
PW1503,PW1502是超低RDS(ON)开关,具有可编程的电流限制,以保护电源源于过电流和短路保护.它具有超温保护以及反向闭锁功能. PW1503,PW1502采用薄型(1毫米)5针薄型SOT2 ...
- 关于springboot2.X使用外部tomcat服务器进行部署的操作详细步骤
1.修改pom.xml文件(4个地方) ①<packaging>war</packaging>将其中的jar该为war ②<dependency> <grou ...
- 订阅者模式,公众号、B站、快手用了都说好!
大家好,今天和大家来聊一个新的设计模式--订阅者模式. 这个模式在我们的生活当中非常常见,可以说是几乎所有的媒体平台都用或多或少地用到了这个模式.比如公众号,我们来仔细梳理一下公众号这个平台当中的整个 ...