• 连续因子


    https://www.patest.cn/contests/gplt/L1-006

    一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。

    输入格式:

    输入在一行中给出一个正整数N(1<N<231)。

    输出格式:

    首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因子k”的格式输出最小的连续因子序列,其中因子按递增顺序输出,1不算在内。

    输入样例:
    630
    
    输出样例:
    3
    5*6*7
    
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    using namespace std;
    int main()
    {
        int N,cnt=0,k=1;
        int n=0;
        char temp[1010];
        char a[1010];
        int sq;
        scanf("%d",&N);
        sq = (int)sqrt(N) + 1;
    
        for(int i=sq; i>=2&&k; i--)
        {
            cnt = 0;
            if(N % i == 0)
            {
                temp[cnt++] = i;
                int t = N/i;
                for(int j=i-1; j>=2; j--)
                {
                    if(t%j==0)
                    {
                        temp[cnt++] = j;
                        t /= j;
                        if(j==2)
                        {
                            k = 0;
                        }
                    }
                    else
                    {
                        temp[cnt] = 0;
                        break;
                    }
                }
                if(cnt >= n)
                {
                    strcpy(a,temp);
                    n = cnt;
                }
            }
        }
    
        if(n == 0) printf("1
    %d",N);
        else
        {
            printf("%d
    ",n);
    
            for(int j = n-1; j>=0; j--)
                printf("%d%c",a[j],j==0?'
    ':'*');
        }
        return 0;
    }
  • 相关阅读:
    web开发的性能准则(减少页面加载时间方面)
    HTTP
    HTTP -- 缓存
    新的博客地址
    mongodb 的命令操作(转)
    低调的css3属性font-size-adjust
    HTML5对表单的约束验证
    clientHeight , scrollHeight , offsetHeight之间的区别及兼容方案
    关于word-break和word-wrap的使用和区别
    MongoDB
  • 原文地址:https://www.cnblogs.com/biu-biu-biu-/p/6591105.html
Copyright © 2020-2023  润新知