连续因子一个正整数 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个连 ...
随机推荐
- spring-关于组件的注入及获取流程
一.组件注入的基本流程: 容器初始化: Spring应用启动时,会读取配置(如XML配置.注解配置等),并根据这些配置创建Bean定义(BeanDefinition). 根据Bean定义,Spring ...
- C#——接口
先来看看微软官方对接口的定义与说明. 接口定义协定. 实现接口的类或结构必须遵循它的协定. 接口可以从多个基接口继承,类或结构可以实现多个接口. 接口可以包含方法.属性.事件和索引器. 接口本身不提供 ...
- C#-WPF初学
1.新建一个WPF的应用: 2.拖拽控件并布局好: [小技巧]选中控件,点击"回形针"即可让该控件跟随窗口自动调整大小: 3.编写代码: 主程序代码如下: namespace Wp ...
- 全网最适合入门的面向对象编程教程:06 类和对象的Python实现-自定义类的数据封装
全网最适合入门的面向对象编程教程:06 类和对象的 Python 实现-自定义类的数据封装 摘要: 本文我们主要介绍了数据封装的基本概念和特性,如何设置自定义类的私有属性和私有方法,protect 属 ...
- 介绍几款强大实用的 IDEA 插件,助力大家开发【工欲善其事必先利其器】
俗话说:"工欲善其事必先利其器",本问介绍几款强大实用的 IDEA 插件,助力大家开发. 希望大家做一个聪明又努力的人,而不只是一个努力的人. Alibaba Java Codin ...
- C# 语言笔记
1. C# 初识 因为先前已经学过 C++ 了,所以在C# 的学习中,大多只记录和 C++ 不同的点,在学习的过程中,感谢刘铁猛老师的教程,您是我C# 入门的领路人. 1.1 使用 .net cli ...
- SQL Server 截取字符串
select top 100 substring(qr_code,8,8) ,* from [LiuJun_PKh_lcfc_hf] --where right(ri,8) or substring( ...
- oeasy教您玩转python - 9 - # 换行字符
换行字符 回忆上次内容 数制可以转化 bin(n)可以把数字转化为 2进制 hex(n)可以把数字转化为 16进制 int(n)可以把数字转化为 10进制 编码和解码可以转化 encode 编码 ...
- ABC341
E link 这个题目中所说的好的其实就是像\(010101\)这样一个\(0\),一个\(1\)的字符串. 那么不好的就是两个\(0\)或两个\(1\)在一起,所以判断一个区间好不好只需要判断一个区 ...
- STL 算法 <algorithm>,
STL 算法部分主要由头文件 <algorithm>,<numeric>,<functional > 组成.要使用 STL 中的算法函数必须包含头文件 < a ...






