L1-006. 连续因子
来源:互联网 发布:cfd软件 编辑:程序博客网 时间:2024/05/19 22:26
L1-006. 连续因子
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越
一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。
输入格式:
输入在一行中给出一个正整数N(1<N<231)。
输出格式:
首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因子k”的格式输出最小的连续因子序列,其中因子按递增顺序输出,1不算在内。
输入样例:630输出样例:
35*6*7
#include<iostream>#include<stdio.h>#include <string>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int main(){ int n; while(~scanf("%d",&n)) { int t=sqrt(n); long long ans=1; int ff=0; int len,st; for(len=12; len>=1; len--) { for(st=2; st<=t; st++) { ans=1; for(int i=st; i-st<=len-1; i++) ans=ans*i; if(n%ans==0) //如果len=1时还没有因子,那么为素数 { ff=1; break; } } if(ff)break; } if(ff==0) //素数时没有因子,就直接输出了 { printf("%d\n%d\n",1,n); continue; } printf("%d\n",len); printf("%d",st); for(int i=st+1;i-st<=len-1;i++) { printf("*%d",i); } puts(""); } return 0;}
0 0
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- L1-006. 连续因子
- Qt:Quick:QAbstractTableModel的使用示例
- Yarn
- MyBatis的Mapper接口以及Example的实例函数及详解
- 给程序员简历的一些建议
- feature extraction
- L1-006. 连续因子
- Python模块学习:sys模块
- oracle 12C中升级11g数据库到12c遇到ORA-65139
- log4j
- 数据结构学习笔记
- redis在java程序中的用法
- Okhttp和Picasso配合使用
- candy-leetcode :只需要遍历一遍的解法
- 正则表达式