连续因子一个正整数 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个连 ...
随机推荐
- Spring5.X常见的注入方式
使用set方法注入 Video.java package net.cybclass.sp.domain; public class Video { private int id; private St ...
- 重磅集结!CNCF/VMware/PingCAP/网易数帆/阿里云联合出品云原生生态大会
"云原生(Cloud Native)"这个词在2020年刷屏了.在企业积极进行数字化转型,全面提升效率的今天,云原生被认为是云计算的"下一个时代". 12月16 ...
- Vue bug from backend
一个后端引发前端的BUG 使用的框架是vue 代码里面有一个组件 <table :data="data"/> 获取后台数据 this.data = await fetc ...
- Django 自定义创建密码重置确认页面
要实现上述功能,你需要修改模板文件以添加"忘记密码"链接,并创建新的视图函数来处理密码丢失修改页面.验证和密码修改.下面是你可以进行的步骤: 1. 修改模板文件 在登录页面的表单下 ...
- Django查询特定条件的数据并插入其他表格模型
要将特定 wk_nu 值对应的数据批量插入到 MPS005D3Model 中,你可以执行以下步骤: 确定要插入的 wk_nu 值. 获取与该 wk_nu 相关的数据. 将获取的数据逐一创建为 MPS0 ...
- 深入理解 Vue 3 组件通信
在 Vue 3 中,组件通信是一个关键的概念,它允许我们在组件之间传递数据和事件.本文将介绍几种常见的 Vue 3 组件通信方法,包括 props.emits.provide 和 inject.事件总 ...
- 技术文档必备工具:注释目录树神器 Annotree,我的第一个正式开源项目
hi,大家好,我是爱听书的程序员阿超 非常开心能在这里介绍我的第一个正式开源项目 Annotree,项目具体情况如下,请继续阅读~ Annotree 注释树 一款生成带注释的目录树工具,大大方便技术文 ...
- 关于使用UE5打包Android的测试
UE5打包Android,不同于UE4,在官方文档中需要Android studio 4.0或者3.5,还有Android SDK,NDK等 设置SetupAndroid, 在UE5 Editor配置 ...
- 断点续传:使用java对大文件进行分块与合并
通常我们下载上传的视频文件比较大.虽然https协议没有规定上传文件大小的限制,但是网络的质量,电脑硬件的参差不齐可能会导致大文件快要上传完成的时候突然断网了要重新上传,非常影响用户体验.以此我们引入 ...
- 18B20的CRC8校验分析
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定. CRC校验可以简单地描述为:例如我们要 ...






