连续因子一个正整数 N
一个正整数 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
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int length=0;
int max_1=1;
int N;
cin>>N;
int N_2=sqrt(N);
for(int i=2;i<=N_2;i++)
{
int length_1=0;
int n=N;
int x=i;
while((n%x)==0)
{
n=n/x;
length_1++;
x++;
}
if(length_1>length)
{
length=length_1;
max_1=--x;
}
}
if(length>0)
{
cout<<length<<endl;
for(int i=1;i<=length;i++)
{
cout<<max_1-length+i;
if(i<length)cout<<"*";
}
}
else
{
cout<<1<<endl;
cout<<N;
}
}
|
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。 输入格式: 输入在一行中给出一个正整数 N(1<N<2^31)。 输出格式: 首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。 输入样例: 630 输出样例: 3 来自 <PTA | 程序设计类实验辅助教学平台> |
|||||||||
![]() |
|||||||||
![]() |
|||||||||
![]() |
|||||||||
|
(1)先求能整除的所有因子数 (2)以(1)中的数为基础探求最大连续因子数 |
|||||||||
|
#include <iostream> using namespace std; int main() { int N; cin>>N; int N_2; N_2=N/2; cout<<N_2<<endl; int i=0; for(i=2;i<N_2;i++) { // cout<<i; int xx; xx=N%i; if(xx==0) cout<<i<<" "; } } |
|||
![]() |
|||
![]() |
|||||||
|
#include <iostream> using namespace std; int main() { int q[9999]={0}; int N; cin>>N; int N_2; N_2=N/2; cout<<N_2<<endl; int i=0; int t=0; for(i=2;i<N_2;i++) { // cout<<i; int xx; xx=N%i; if(xx==0) {q[t]=i;t++} } for(i=0;i<t;i++) { int xx=0; for(;q[xx]<N_2;xx++) { if() } } } |
|||||||
|
#include <iostream> #include<cmath> using namespace std; int main() { int length=0; int max_1; float N; cin>>N; int N_2=sqrt(N); for(int i=0;i<N_2;i++) { int length_1=0; int n=N; int x=i; while((n%i)!=0) { length_1++; n=n/x; x++; } if(length_1>length) { length=length_1; max_1=--x; } } cout<<length<<endl; for(int i=0;i<length;i++) { cout<<max_1-i; } } |
|||||||
![]() |
|||||||
输入样例:
630
输出样例:
3
5*6*7
cout<<--length<<endl;
for(int i=1;i<=length;i++)
{
cout<<max_1-length+i;
if(i<length)cout<<"*";
}

#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int length=0;
int max_1=1;
int N;
cin>>N;
int N_2=sqrt(N);
for(int i=2;i<=N_2;i++)
{
int length_1=0;
int n=N;
int x=i;
while((n%x)==0)
{
n=n/x;
length_1++;
x++;
}
if(length_1>length)
{
length=length_1;
max_1=--x;
}
}
if(length>0)
{
cout<<length<<endl;
for(int i=1;i<=length;i++)
{
cout<<max_1-length+i;
if(i<length)cout<<"*";
}
}
else
{
cout<<1<<endl;
cout<<N;
}
}
![]() |
|||
|
#include <iostream> int main() { int N; std::cin>>N; std::cout<<1<<std::endl<<N; } |
|||
连续因子一个正整数 N的更多相关文章
- 输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少
输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少? 例子:输入数字9,则输出结果位9.因为[0-9]中,只有数字7有连续的三个‘1’出现,别的都没有,所以一共有9个数字 ...
- 一个正整数表示为n个连续正整数之和(第1届第2题)
题目要求 问题描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 编写程序,根据输入的任何一个正整数,找出符合这 ...
- 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)
package leetcode;import edu.princeton.cs.algs4.Cycle;import java.util.ArrayList;import java.util.Arr ...
- L1-006. 连续因子
https://www.patest.cn/contests/gplt/L1-006 题目地址 在上面 一个正整数N的因子中可能存在若干连续的数字.例如630可以分解为3*5*6*7,其中5.6.7就 ...
- pat L1-006. 连续因子
L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个正整数N的因子中可能存在若干连续的数字.例如630 ...
- L1-006 连续因子 (20 分) 模拟
一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的 ...
- L1-006 连续因子(20)(思路+测试点分析)
L1-006 连续因子(20 分) 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 3×5×6×7,其中 5.6.7 就是 3 个连续的数字.给定任一正整数 N,要求编写程序 ...
- 天梯赛 L1-006 连续因子 (模拟)
一个正整数N的因子中可能存在若干连续的数字.例如630可以分解为356*7,其中5.6.7就是3个连续的数字.给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列. 输入格式 ...
- 团体程序设计天梯赛-练习集L1-006. *连续因子
L1-006. 连续因子 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个正整数N的因子中可能存在若干连续的数字.例如630 ...
- PAT 天梯赛练习集 L1-006. 连续因子
题目链接:https://www.patest.cn/contests/gplt/L1-006 一个正整数N的因子中可能存在若干连续的数字.例如630可以分解为3*5*6*7,其中5.6.7就是3个连 ...
随机推荐
- AT_joisc2019_j 题解
先考虑这个式子: \[\sum_{j=1}^{M} |C_{k_{j}} - C_{k_{j+1}}| \] 一定是在 \(C\) 有序时取到,具体证明很简单各位读者自己证明. 那么现在式子变成: \ ...
- Java常见问题-多线程
现在有 T1.T2.T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行? 这个多线程问题比较简单,可以用 join 方法实现. 在 Java 中 Lock 接口比 ...
- 新版SpringBoot-Spring-Mybatis 数据库相关配置
application.properties server.port=8081 # ========================数据库相关配置===================== sprin ...
- 【java深入学习第2章】Spring Boot 结合 Screw:高效生成数据库设计文档之道
在开发过程中,数据库设计文档是非常重要的,它可以帮助开发者理解数据库结构,方便后续的维护和扩展.手动编写数据库设计文档不仅耗时,而且容易出错.幸运的是,可以使用Spring Boot和Screw来自动 ...
- 基于微信小程序+Springboot线上租房平台设计和实现【三端实现小程序+WEB响应式用户前端+后端管理】
感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 一. 前言介绍: 近年来,我国的社会经济迅猛发展,社会对于房屋租赁的需求也在不断增多.在房屋租赁企业中面对繁琐而 ...
- [oeasy]python0117 文字的演化_埃及圣书体_象形文字_楔形文字
埃及圣书体 回忆上次内容 两河流域 苏美尔文明 所使用的 楔形文字 不是象形文字 添加图片注释,不超过 140 字(可选) 楔形文字的字型 究竟是怎么来的呢? 巴别塔 苏美尔的 ...
- Python 按规则解析并替换字符串中的变量及函数
按规则解析并替换字符串中的变量及函数 需求 1.按照一定规则解析字符串中的函数.变量表达式,并替换这些表达式.这些函数表达式可能包含其它函数表达式,即支持函数嵌套 2.函数表达式格式:${ __函数名 ...
- 题解:P9777 [HUSTFC 2023] Fujisaki 讨厌数学
令 \(f(n)=x^{n}+x^{-n}\). 可以发现 \(f(n)f(m)=x^{n-m}+x^{m-n}+x^{n+m}+x^{-n-m}=f(n-m)+f(m+n)\). 若 \(m=1\) ...
- Centos7下安装配置最新版本Jenkins(2.452.3)
1.基础环境配置 1.1 服务器下载Jenkins安装包 下载地址:https://www.jenkins.io/download/ 下载命令:wget https://get.jenkins.io/ ...
- php使用jwt作登录验证
JWT官网 https://jwt.io/ 选择第一个 composer require firebase/php-jwt use Firebase\JWT\ExpiredException;use ...






