poj 1142_poj是什么意思

poj 1142_poj是什么意思http://poj.org/problem?id=1142题意:找一个比n大的数字,这个数字要可以分解(这点很重要)成,分解的因子和,和这个数字的各位数字和,相等的话,输出这个数字思路:因为这个数字要可以分解,所以首先判断这个数是否是质数,这个很重要,因为质数不符合题意。然后对这个数字进行分解。递归分解。递归的时候也注意,有可能某个因子是质数,如果这个因子是质数,比如11,也要…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

http://poj.org/problem?id=1142

题意:找一个比n大的数字,这个数字要可以分解(这点很重要)成,分解的因子和,和这个数字的各位数字和,相等的话,输出这个数字

思路:因为这个数字要可以分解,所以首先判断这个数是否是质数,这个很重要,因为质数不符合题意。然后对这个数字进行分解。递归分解。递归的时候也注意,有可能某个因子是质数,如果这个因子是质数,比如11,也要分解成1和1相加。而不是加11

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <math.h>
 4 
 5 int tmp;
 6 bool isprime (int k)
 7 {
 8     int t = sqrt ( k + 0.5 );
 9     for ( int i = 2 ; i <= t ; i ++ )
10         if ( k % i == 0 )
11             return false;
12     return true;
13 }
14 int sum(int x)
15 {
16     int temp = 0;
17     while(x>0)
18     {
19         temp += x%10;
20         x/=10;
21     }
22     return temp;
23 }
24 void solve(int x)
25 {
26     if(isprime(x)){
27         tmp+=sum(x);
28         return;
29     }
30     for(int i = 2; i<=x; i++)
31     {
32 
33         if(!(x%i))
34         {
35             tmp+=sum(i);
36             solve(x/i);
37             break;
38         }
39     }
40 }
41 
42 
43 int main()
44 {
45     int n;
46     while(scanf("%d",&n))
47     {
48         if(n<=0)
49             break;
50         for(int i = n+1;; i++)
51         {
52             tmp = 0;
53             solve(i);
54             if(sum(i)==tmp&&!isprime(i))
55             {
56                 printf("%d\n",i);
57                 break;
58             }
59         }
60     }
61     return 0;
62 }

 

转载于:https://www.cnblogs.com/Tree-dream/p/6690278.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187194.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA基于dom4j实现对XML操作「建议收藏」

    JAVA基于dom4j实现对XML操作「建议收藏」该篇博客写java基于dom4j来操作xml的一些基本实现,需要用到以下jar包该篇博客目录1、XML特点、语法规则2、XML与HTML区别3、基于dom4j下java实现对XML基本操作一、XML特点、语法规则1、XML特点XML是一种标记语言,很类似HTMLXML的设计宗旨是传输数据,而非显示数据(HTML)XML标签没…

    2022年7月14日
    20
  • 数据库精华,出自 十步一杀的博客

    数据库精华,出自 十步一杀的博客SQLite3一列多行合并为一列一行分类: 数据库2013-06-2517:02 379人阅读 评论(0) 收藏 举报A  B         ———-      1  中  1  人    2  三2  天2  李变成:A  B——————-1  中,

    2022年7月27日
    7
  • pycharm 批量替换_pycharm如何替换字符串

    pycharm 批量替换_pycharm如何替换字符串Pycharm中快速替换某个变量、某个字符可以使用Ctrl+R的快捷键来快速替换可以点击Replaceall来替换所有的匹配到的字符;如果要替换成空的,那么下面的输入框什么也不要输就可以。…

    2022年8月25日
    9
  • 完整的蓝屏错误代码大全详解[通俗易懂]

    完整的蓝屏错误代码大全详解[通俗易懂]完整的BSOD错误代码列表从STOP0x1到STOP0xC0000221一个死机(BSOD)的蓝屏,技术上称为一个STOP错误,若在Windows遭受了严重的错误,被迫“停”的问题。在任何Windows操作系统中都会出现BSOD错误,包括Windows10,Windows8,Windows7,WindowsVista,WindowsXP甚至Windows98/95。由于蓝屏错误让…

    2022年5月15日
    40
  • authenticator验证码不显示_打电话报的验证码安全吗

    authenticator验证码不显示_打电话报的验证码安全吗【2021/07/14】记录在修改代码中IDE闪烁了一下,原本正常的验证码图片就不显示了。但是没有报错,日志也没有记录。折腾了半天都无效果,我塔咩直接???然后突然看见了ob_clean()这玩意,然后加在了验证码输出之前,然后!就正常了!publicfunctioncaptcha(){ob_clean();returnCaptcha::create();}但是!为什么要加这个就能

    2025年9月25日
    2
  • 多个数组合并为一个数组

    多个数组合并为一个数组 constmerge1=arr=&gt;{//合并多个数组constresult=[]for(leti=0;i&lt;arr.length;i++){for(letj=0;j&lt;arr[i].length;j++){…

    2022年6月24日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号