zzuli 20級第八次周賽 2750: 連續因子
題目描述
一個正整數 N 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 N,要求編寫程式求出最長連續因子的個數(其本身也算其因子),並輸出最小的連續因子序列。
輸入
輸入在一行中給出一個正整數 N(1<N<2^31)。
輸出
首先在第 1 行輸出最長連續因子的個數;然後在第 2 行中按 因子1因子2……*因子k 的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。
樣例輸入
630
樣例輸出
3
567
直接列舉就行
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
int ans = 0;
int b = 0, e = 0;
cin >> n;
for(int i = 2; i <= sqrt(n); i++){
if(n % i == 0){
int count = 0; //記錄次數
int a = i;
int s = n;
while(s%a == 0){ //迴圈 連續因子
s = s/a;
a++;
count++;
}
if(count > ans){
ans = count;
b = i;
e = a-1;
}
}
}
if(ans == 0){
cout << 1 << endl;
cout << n;
} else{
cout << ans <<endl;
for(int i = b; i < e; i++){
cout << i << "*";
}
cout << e;
}
}
相關文章
- PTA 天梯賽備賽 L1-006 連續因子 (20 分)(搜尋)
- 暴力解法破解PTA L1-006 連續因子 (20分)
- 面試周連續劇之奇葩遭遇面試
- 面試周連續劇之首戰大捷面試
- Wanafly挑戰賽25 A因子
- 面試周連續劇之輕車熟路面試
- 面試周連續劇之塵埃落定面試
- 面試周連續劇之走馬觀花面試
- 面試周連續劇之被虐成‘狗’面試
- №20190120:因子加值數的附加賽事
- №20190117:因子加值數的修正賽事
- leetcode周賽 - 406LeetCode
- Leetcode周賽119LeetCode
- 習題3.4 最長連續遞增子序列 (20分)
- 牛客周賽48
- 第191場周賽
- 第 210 場周賽
- 牛客IOI周賽20-普及組-D 夾縫中求和(線性優化)優化
- 20241027LeetCode421周賽LeetCode
- 牛客周賽 Round 63
- 牛客周賽 Round 57
- 牛客周賽 Round 56
- AcWing第85場周賽
- 牛客周賽 Round 40
- 牛客周賽 Round 47
- 牛客周賽 Round 1
- 牛客周賽 Round 3
- 牛客周賽 Round 7
- 【leetcode 399 周賽】【題解】LeetCode
- 牛客周賽 Round 8
- 牛客周賽Ronud 46
- 牛客周賽 Round 38
- LeetCode第215場周賽LeetCode
- 牛客小白周賽9
- 20篇頂級深度學習論文(附連結)深度學習
- 牛客練習賽14B 區間的連續段
- 春季第八次
- №20190116部落格賽事:「因子加值數」等冪和