题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805138600869888

题意:给定n,求n的最长的连续子因子的长度,且输出最小的序列。

思路:我最开始就是暴力搜的,搜到最长的存下来即可,但忽略了我找的因子的乘积可能大于n,后来也没想到什么好的办法,然后参考了别人的题解。首先给出12!=479001600<231<13!=6227020800,这个要记住,从这可以看出n最长的连续子因子长度不会超过12,知道这个之后就可以从长度等于12开始,第二层循环表示序列的起始数字,搜到的第一个结果即最长的序列,且最小。要注意的是质数和因子全部相邻的数是有区别的,质数的最小序列就是本身,而后者比如105=3×5×7,最小序列是3。

代码如下:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3
 4 typedef long long LL;
 5 LL n,suc,bg,len;
 6
 7 int main(){
 8     scanf("%lld",&n);
 9     for(LL i=12;i>=1;--i){
10         for(LL j=2;j<=sqrt(n);++j){
11             LL mul=1;
12             for(LL k=j;k<i+j;++k){
13                 mul*=k;
14                 if(mul>n) break;
15             }
16             if(mul>n) break;
17             if(n%mul==0){
18                 suc=1;
19                 bg=j;
20                 len=i;
21             }
22             if(suc) break;
23         }
24         if(suc) break;
25     }
26     if(suc){
27         printf("%lld\n",len);
28         for(LL i=bg;i<bg+len;++i){
29             printf("%lld",i);
30             if(i!=bg+len-1) printf("*");
31         }
32         printf("\n");
33     }
34     else{
35         printf("1\n%lld\n",n);
36     }
37     return 0;
38 }

转载于:https://www.cnblogs.com/FrankChen831X/p/10518322.html

pta_l1-6(连续因子)相关推荐

  1. L1-006 连续因子

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

  2. PTA天梯赛L1-006 连续因子 (20分)

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

  3. 7-8 连续因子 (20 分)

    7-8 连续因子 (20 分) 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出 ...

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

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

  5. 在PTA中c语言中求连续因子,团体程序设计天梯赛-练习集L1-006. *连续因子

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

  6. PTA L1-006 连续因子(详解)

    前言:本期是关于pta题目:连续因子的详解,今天你c了吗? 题目:  一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字 ...

  7. 【PTA~L1-006 连续因子】

    文章目录 L1-006 连续因子~20 题解: 上一页:[统计同成绩学生~20](https://blog.csdn.net/m0_66318554/article/details/124436432 ...

  8. L1006 连续因子

    L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个正整数N的因子中可能存在若干连续的数字.例如630 ...

  9. PTA天梯赛 L1-006.连续因子

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

  10. 连续因子pta c语言,PTA --- L1-006 连续因子

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

最新文章

  1. 专注NLP,竹间智能完成4500万美元B+轮融资
  2. C#利用Graphics类绘制进阶--绘制条形码Code128
  3. Linux(CentOS 7_x64位)系统下安装ACPYPE
  4. 分享一个高质量的 小程序UI框架
  5. (42)css特异性
  6. window.event对象详尽解析
  7. django模板语言使用
  8. matlab 各版本下载地址
  9. Android系统 ——高通平台刷机流程(qfil)
  10. 匈牙利算法--任务分配
  11. 正态分布c语言算法,正态分布函数的几种近似算法
  12. 移动跨平台框架ReactNative活动指示器组件【11】
  13. Visual Studio 2019 编译报错:错误 CS2012 无法打开 obj\Debug\xx.exe”进行写入 --“对路径xx.exe”的访问被拒绝)解决方法
  14. 西门子数控机床如何用FTP进行程序传输
  15. 基于 Qt5 ( C++ ) 开发的一个小巧精美的本地音乐播放器
  16. 这是计算机房吗 用英语怎么写,城镇英文怎么说_城镇的英文怎么写 - 沪江英语...
  17. 使用Scratch进行少儿编程
  18. Keil警告和报错处理
  19. 【mongoDB基础篇①】安装与常用操作语句
  20. 保研文书——中文简历

热门文章

  1. 大型网站的负载均衡器、db proxy和db
  2. Android Glide加载图片成圆形
  3. android 解决java.nio.BufferOverflowException 异常
  4. 版本分支管理标准 - Trunk Based Development 主干开发模型
  5. [数论]Gcd/ExGcd欧几里得学习笔记
  6. Oracle获取月初/月末/季初/季末/半年初/半年末/年初/年末
  7. windows下sshfs挂载远程文件夹-server could not connect故障解决
  8. 解决iOS地图持续定位耗电问题
  9. Form表单中的元素 控件集
  10. [Bzoj4196] [NOI2015] 软件包管理器 [树链剖分,线段树]