L1-006 连续因子
题目:
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。
输入格式:
输入在一行中给出一个正整数 N(1<N<2^31)。
输出格式:
首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。
输入样例:
630
输出样例:
3
56*7
题解
输入的N的上限2^31在12的阶乘到13的阶乘之间,说明N最多是有12个数连乘,题目中不算1,所以连乘因子最多是有11位。解决这个题目,采用暴力的思想。
因为题目中要求“编写最长的连续因子”,所以第一组从11个数相乘开始,先是2开头 2,3,4,5,6,7,8,9,10,11,12这十一个数相乘得到一个结果,然后在是3开头的3,4,5,6,7,8,9,10,11,12,13这十一个数相乘得到一个结果。。。。一直到25(注:这里的25是630开平方根得到的)开头;然后第二组是10个数相乘,第三组是9个数相乘,一直到最后一组1个数相乘。
如果这样顺序执行下来,得到的结果能正好被N整除,就能得到我们要求的数。
代码
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main(){int N;cin>>N;int n=sqrt(N);//求平方根;int i,j;long long int sum;for(int len=11;len>=1;len--){//最外层循环for(i=2;i<=n;i++){//开头数字,2sum=1;for( j=i;j<=len-1+i;j++){//2乘到25sum=sum*j;if(sum>N) break;}if(N%sum==0){//整除cout<<len<<endl;//因子长度cout<<i;//5for(int k=i+1;k<j;k++){//此时的j的值为8cout<<"*"<<k;}cout<<endl;return 0;//结束,要放到循环外面,循环结束后再结束}}}cout<<1<<endl;cout<<N<<endl;return 0;
}
L1-006 连续因子相关推荐
- 连续因子pta c语言,PTA --- L1-006 连续因子
一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的 ...
- PTA天梯赛L1-006 连续因子 (20分)
题目: 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输 ...
- 7-8 连续因子 (20 分)
7-8 连续因子 (20 分) 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出 ...
- L1-006. 连续因子-PAT团体程序设计天梯赛
一个正整数N的因子中可能存在若干连续的数字.例如630可以分解为3*5*6*7,其中5.6.7就是3个连续的数字.给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列. 输入 ...
- 在PTA中c语言中求连续因子,团体程序设计天梯赛-练习集L1-006. *连续因子
一个正整数N的因子中可能存在若干连续的数字.例如630可以分解为3*5*6*7,其中5.6.7就是3个连续的数字.给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列. 输入 ...
- PTA L1-006 连续因子(详解)
前言:本期是关于pta题目:连续因子的详解,今天你c了吗? 题目: 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字 ...
- 【PTA~L1-006 连续因子】
文章目录 L1-006 连续因子~20 题解: 上一页:[统计同成绩学生~20](https://blog.csdn.net/m0_66318554/article/details/124436432 ...
- L1006 连续因子
L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个正整数N的因子中可能存在若干连续的数字.例如630 ...
- PTA天梯赛 L1-006.连续因子
题目描述 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出最长连续因子的个数,并 ...
最新文章
- Laravel Dcat Admin 安装
- Express 的简单使用
- 《TensorFlow 机器学习方案手册》(附 pdf 和完整代码)
- python用format保留三位小数_关于Python 保留小数使用format、%、round()、Decimal函数及format和%只能保留到六位问题...
- sq语句报错Parameter index out of range (2 > number of parameters, which is 1).
- 微信小程序 body属性的问题
- Openflow协议规范
- dataset中的数据批量导入oracle数据库,C#如何把某个文件夹下的所有Excel文件导入Oracle数据库。详细点!...
- 【招聘内推】阿里高德地图招聘应用算法专家(P7,含推荐算法方向)
- access mysql 操作方法_设置和取消Access数据库密码-图解教程
- 开发板 集成下载器 jtag_迅为i.MX6ULL开发板原理图分析介绍
- 利用matlab检测曲线,如何在matlab中检测平滑曲线
- 实现微信小程序开发的基本步骤
- 嵌入式学习笔记-2022.2.22
- 有深意的一段字,现在用的QQ签名
- Git Bash 默认界面配色分析
- Java基础知识之静态
- so slow of the speed
- [230528] 托福阅读真题|TPO66|整卷得分22/30|9:45~10:45|15:40~16:40|6月1日14:30~15:20
- labuladuo算法小抄模板整理