L1-006

原创 2016年06月01日 22:00:31

L1-006. 连续因子

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

输入格式:

输入在一行中给出一个正整数N(1

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
long long n;
int main(){
    int i,j,k,flag,lim;
    while(scanf("%lld",&n)!=EOF){
        lim=sqrt(n);
        flag=false;
        for ( i = 12; i >=1; i--)
        {
            for ( j = 2; j <=lim ; ++j)
                {
                    long long ans=1;
                    for ( k = j; k <= j+i-1; ++k)
                    {   
                        ans*=k;

                    }
                    if(n%ans==0){
                        flag=true;
                        break;
                    }
                }   
            if(flag)break;
        }
        if(flag){
            printf("%d\n",i);
            for ( k = j; k <j+i-1; ++k)
            {
                printf("%d*", k);
            }
            printf("%d\n",j+i-1 );
        }
        else{
            printf("1\n%d\n",n);
        }

    }   
    return 0;
}
版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

L1-006. 连续因子-PAT团体程序设计天梯赛

L1-006. 连续因子 一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,...
  • liuchuo
  • liuchuo
  • 2016年07月21日 23:26
  • 925

PAT-天梯赛练习集-L1-006-连续因子

ACM模版描述题解最开始看错题了,结果想岔了,用尺取法做了,但是不是说尺取法不能做,只是没必要用它,直接用数组存起来所有的因子即可,当然,也可以存一部分因子,毕竟这个结果只和前部分因子以及它本身有关。...
  • f_zyj
  • f_zyj
  • 2017年03月21日 00:49
  • 230

团体程序设计天梯赛-练习集-L1-006. 连续因子

这道题有点坑,如果是素数呢?那只能输出它本身, 暴力枚举的话会超时,由于12!超过了int的范围,所以长度最大只会为12......

【PAT】【GPLT】【2016 天梯】 L1-006 连续因子

【PAT】【GPLT】【2016 天梯】 L1-006. 连续因子 一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,...

L1-006. 连续因子

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

L1-006. 连续因子(C++)

首先,感谢这位大神的博客,长时间地部分正确让人头疼……还好找到了可以AC的代码。下面的代码是稍稍改动这位大神的,也可以ac的代码。本人脑袋比较笨,所以强行加了很多注释,有误之处,希望看到这篇博文的小伙...

L1-006. 连续因子_阶乘

L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序...
  • yuege38
  • yuege38
  • 2017年04月03日 10:38
  • 88

C++ - PAT - L1-006. 连续因子

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

L1-006. 连续因子(枚举因子)

题目链接:https://www.patest.cn/contests/gplt/L1-006 思路分析:首先可以想到以O(sqrt(n))的复杂度求出所有因子。然后排序,这样问题就转化为求一个数组...

团体程序设计天梯赛-练习集 L2-006 树的遍历 根据后序中序建树+BFS

L2-006. 树的遍历 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:L1-006
举报原因:
原因补充:

(最多只允许输入30个字)