连续因子一个正整数 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个连 ...
随机推荐
- ubuntu22 装物理机
前言 最近需要使用u盘装一个ubuntu物理机,原本想试试麒麟,但还需要申请.. 自己捣鼓半天,终于把ubuntu系统装上了,现在记录一下过程. 正文 下载镜像文件 从官网下载 ubuntu22 的镜 ...
- [oeasy]python0092_homebrew_家酿俱乐部_比尔盖茨_保罗艾伦
编码进化 个人电脑 intel 8080 的出现 让 人人都 可能有 一台计算机 Ed Robert 的 创业之路 从 售卖 diy 组装配件 到进军 计算器市场 计算器 毕竟不是 个人计算机 这计算 ...
- TIER 0: Redeemer
TIER 0: Redeemer Redis Remote Dictionary Server 是一个开源的内存数据存储系统 Redis 是完全基于 内存,"内存"数据库的数据检索 ...
- 2024 暑假友谊赛 1 (7.13)zhaosang
A-A https://vjudge.net/contest/638765#problem/A 一开始贪心做不出来,后面发现是dp找到转移方程即可,01dp问题 代码如下 #include <b ...
- CF1883B Chemistry 题解
原题传送门 思路: 如"aba","abba"这样的回文字符串, 每个字符的出现次数有以下两种情况: 1:全部是偶数(abba) 2:只有一个为奇数(aba) ...
- gist.github.com 无法访问解决办法,亲测永远有效!
1.打开https://www.ipaddress.com/,输入gist.github.com获取IP地址 2.ping 此ip地址,可以访问 3.将IP地址写入Hosts文件,140.82.113 ...
- httpclient,轻量级idea集成测试工具
优点:不用新开一个网页,具有测试数据保存功能,不需要配置即用(对比swagger) 不会特别占内存(对比postman) 使用方法:idea中安装插件 controller方法中点击 选择对应 ...
- 【JavaScript】从N个下拉动态监听改变的option值
同事因为这个问题人傻了,是从Ajax请求获取的动态数据遍历的表格 然后表格行的单元格又有下拉选择,有N个下拉,要取出选择的值进行二次请求 <select name="A" i ...
- python高性能计算:cython使用openmp并行(示例)
y.pyx import cython from cython import parallel from cython.parallel import prange cdef int i cdef i ...
- CyberDog测试视频 —— 【开箱】小米"限量"机器狗!被我玩坏了...
地址: https://www.youtube.com/watch?v=3ntAhy3thXM PS. 现在的智能机器人其实真的没有人们想象中的那么智能.感觉现在的智能机器人最为有用的功能一个是倒地自 ...