L1-006 连续因子

news/2024/7/1 2:55:10

题目:

一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。
输入格式:
输入在一行中给出一个正整数 N(1<N<2​^31​​)。
输出格式:
首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。
输入样例:
630
输出样例:
3
5
6*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;
}

http://lihuaxi.xjx100.cn/news/240427.html

相关文章

我开发的代码,如何申请版权_代码简介:我花了3个月时间申请开发人员职位。 这是我学到的。...

我开发的代码,如何申请版权Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事&#xff1a; I spent 3 months applying to jobs after a coding bootcamp. Here’s what I learned: 5 minute read 编码训练营结…

《Linux From Scratch》第二部分:准备构建 第三章:软件包与补丁- 3.1. 简介

本章列出了一个需要下载的软件包列表&#xff0c;它们用来构建一个基本的 Linux 系统。所列出来的版本号对应着该软件的确定可以正常工作的版本&#xff0c;本书是以它们为基础的。我们强烈反对使用更新一些的版本&#xff0c;因为某个版本能用的编译指令可能并不适用于新版本。…

L1-009 N个数求和

题目 本题的要求很简单&#xff0c;就是求N个数字的和。麻烦的是&#xff0c;这些数字是以有理数分子/分母的形式给出的&#xff0c;你输出的和也必须是有理数的形式。 输入格式&#xff1a; 输入第一行给出一个正整数N&#xff08;≤100&#xff09;。随后一行按格式a1/b1 a2/…

Rushcrm:企业部署CRM系统做什么

现在很流行的一个词就是大数据&#xff0c;很多企业开始重视数据的开发利用。CRM在这样的环境背景下诞生了&#xff0c;但这并不意味着所有的企业都能很好的利用好CRM系统(客户关系管理系统)。CRM带来的效益是显而易见的&#xff0c;但是购置了CRM系统仅仅是第一步&#xff0c;…

Oracle笔记 六、PL/SQL简单语句块、变量定义

1、简单SQL语句&#xff0c;HellWorld示例 --输出信息 begin dbms_output.put_line(Oracle Hello World!); end; 2、变量的定义、使用 --定义变量 declare sName varchar2(20); begin sName : jack; dbms_output.put_line(sName); end; --常用类型 declare sNum number(1); sCo…

谈论源码_6,000名自由职业者谈论金​​钱,幸福和对未来的希望

谈论源码More than 6,000 US-based freelancers responded to a new in-depth survey. I dug through the data and pulled out the most interesting insights, which paint a picture of optimistic professionals who have taken control of their own destiny.超过6,000名美…

idea打开web项目之后一直闪烁

解决办法&#xff1a; 点击&#xff0c; 选择第一个&#xff08;清除缓存并重启&#xff09; 这时Idea会自动重新启动&#xff0c;之后就没有闪烁的状态了。 一开始我选择是第二个&#xff0c;清除无效的缓存&#xff0c;但是并没有起作用。

Wink发布Wink Hub2家庭物联网控制中心

智能家居主要厂商之一Wink宣布推出Wink Hub2家庭物联网控制中心&#xff0c;支持更多的家庭物联网产品&#xff0c;更广泛的互联互通&#xff0c;以及提供更好用的控制程序。Wink Hub2主要作用是连接第三方家庭物联网产品&#xff0c;并从一个集中的应用程序进行控制。 Wink Hu…