Jmeter日常--Beanshell指令碼日常報錯
阿新 • • 發佈:2022-04-14
題目連結 https://pintia.cn/problem-sets/994805046380707840/problems/994805138600869888
1、因子個數不超過sqrt(n)+1
2、如果n為1或質數,那麼只有一個因子。所以用一個變數first來記錄連乘的第一個因子,若first始終沒有改變,則n為1或質數
3、不斷構造連乘,如果連乘的積是n的因子,則計算連乘因子的個數是否比已記錄的個數多
放AC程式碼
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 long long n;6 cin>>n; 7 int temp=1;//因子的乘積 8 int first=0;//記錄第一個因子 9 int len=0;//連續因子的長度 10 int maxn=sqrt(n)+1; 11 for(int i=2; i<=maxn; i++) 12 { 13 int j; 14 temp=1; 15 for(j=i; j<=maxn; j++) 16 { 17 temp*=j; 18 if(n%temp!=0) 19 break; 20 } 21 if(j-i>len) 22 { 23 len=j-i; 24 first=i; 25 } 26 } 27 if(first==0) 28 cout<<1<<endl<<n; 29 else 30 { 31 cout<<len<<endl; 32 for(int i=0; i<len; i++)33 { 34 cout<<first+i; 35 if(i!=len-1) 36 cout<<'*'; 37 } 38 } 39 return 0; 40 }