L1-006 连续因子-团体程序设计天梯赛-练习
来源:互联网 发布:域名cname解析过程 编辑:程序博客网 时间:2024/06/09 18:04
L1-006. 连续因子
一个正整数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 <cstdio>#include <map>#include <cmath>using namespace std;long long int findl(long long int n,long long int x,long long int len){ if(n%x==0){///3能除开就看4,以此类推 len = findl(n/x,x+1,len+1); } return len;}int main(){ long long int n; scanf("%lld",&n); long long int ans = 0; long long int tans = 0; long long int first = 0; for(int i = 2; i<=sqrt(n); ++i){ if(n%i==0){///如果2能除开,就看3 tans = findl(n/i,i+1,1); if(tans > ans ) { ans = tans; first = i; } } } ///这里注意特殊情况,如果因子只有一和他本身的话 if(ans == 0) printf("1\n%lld",n); else{ printf("%lld\n%lld",ans,first); for(int i = 1;i<ans;++i){ printf("*%lld",first+i); } } return 0;}
1 0
- L1-006 连续因子-团体程序设计天梯赛-练习
- 团体程序设计天梯赛-练习集L1-006. 连续因子
- 团体程序设计天梯赛-练习集-L1-006. 连续因子
- L1-6. 连续因子 PAT团体程序设计天梯赛
- L1-006. 连续因子-PAT团体程序设计天梯赛
- 团体程序设计天梯赛-练习集 L1-006. 连续因子 JAVA
- 团体程序设计天梯赛-练习集 L1
- PAT-天梯赛练习集-L1-006-连续因子
- PAT团体程序设计天梯赛 L1006 连续因子
- 团体程序设计天梯赛-练习集L1-001. Hello World
- 团体程序设计天梯赛-练习集L1-002. 打印沙漏
- 团体程序设计天梯赛-练习集L1-003. 个位数统计
- 团体程序设计天梯赛-练习集L1-004. 计算摄氏温度
- 团体程序设计天梯赛-练习集L1-007. 念数字
- 团体程序设计天梯赛-练习集L1-010. 比较大小
- 团体程序设计天梯赛-练习集L1-011. A-B
- 团体程序设计天梯赛-练习集L1-012. 计算指数
- 团体程序设计天梯赛-练习集L1-014. 简单题
- 11-潜伏者
- Building a 64bit Docker OS for the Raspberry Pi 3
- JavaScript高级程序设计笔记 (二)
- css 绝对定位、浮动中的脱离文档流
- MFC edit 控件改变字体 垂直居中
- L1-006 连续因子-团体程序设计天梯赛-练习
- c++primer第五章学习小记
- 理解 JMeter 聚合报告(Aggregate Report)
- 把Java程序打包成jar文件包并执行
- OpenCV 安装 for Ubuntu
- 鸟哥的linux私房菜学习笔记《五》文件权限与目录配置
- 【CQMTC2015#1】兔子
- Java之回调
- Zookeeper(十)Watcher——数据变更的通知