本來我想的就是把所有因子列出來然後找第乙個連續最長的,但是坑還不少。
1.資料12 2*3*4比12大,只能取2*3.
2. 我本來想優化,跳過連續的乙個串,但是這樣就跳過了其中的子串,而子串是可能的解。
3. 想優化只看開方以前的因子,事實證明別瞎優化。
4. 想暴力列舉所有因子,丫的超時。
5. 對於沒有其他因子的素數要特判。
6. 匹配連續的乙個終結條件是已經沒其他因子了。
都是淚,我瞎暴力列舉乙個不好嗎。。。
**:
#include #include #include using namespace std;
typedef long long ll;
int main()
, k = 0;
int len = 0, p;
cin >> n;
for(ll i = 2; i * i<= n; i++)
}sort(yz, k + yz);
// for(int i = 0; i < k; i++)
// cout << yz[i] << ' ';
// cout << endl;
for(int i = 0; i < k; i++)
if(flag)
break;}}
}if(!len)
cout << len << endl;
for(int i = p; i < p + len; i++)
return 0;
}
這題一開始爆空間了。
我就直接想求和來著,但是對於資料:5
2147483647/2147483645 2147483644/2146666666 214444/2147483647 21444433/2147483643 2122222221/21474854
必須讀乙個處理乙個。
而且是a*b/c而不是a/c*b,神他媽的右結合,害我老不過。
另外還有結果為0什麼的。
#include #include struct fen;
fen date[105];
long long gdb(long long a, long long b)
return a;
}int main()
if(fenzi == 0)
long long m = fenzi < 0?-fenzi:fenzi;
long long temp = gdb(m, fenmu);
fenzi = fenzi / temp;
fenmu = fenmu / temp;
long long zheng = fenzi / fenmu;
fenzi %= fenmu;
if(fenzi == 0)else if(zheng != 0)else
return 0;}/*
52147483647/2147483645 2147483644/2146666666 214444/2147483647 21444433/2147483643 2122222221/21474854
*/
練習題 25 找出N個數之和等於M
題目 給定乙個target,和乙個 有序 陣列ra。要求 從ra中挑選length2個數,使得它們之和等於target 說明 length2個數中可以出現重複 例子 如 a b c 31,a b c都來自於 1,3,5,7,9,11,13,15 則 include include includeus...
CCCC團體天梯賽練習題 排座位
時間限制 150 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同...
天梯賽 練習題 L1 009 N個數求和
l1 009 n個數求和 20 分 本題的要求很簡單,就是求n個數字的和。麻煩的是,這些數字是以有理數分子 分母的形式給出的,你輸出的和也必須是有理數的形式。輸入第一行給出乙個正整數n 100 隨後一行按格式a1 b1 a2 b2 給出n個有理數。題目保證所有分子和分母都在長整型範圍內。另外,負數的...