聯賽前第八階段總結
阿新 • • 發佈:2020-10-28
上午小測1
階段排名 3
離Ak最近的一次
木板
- 設BE=x,CF=y,因為三角形ABE與三角形ECF相似,得出式子
- 得到y的式子
-
要滿足x,y都是整數,暴力就是從1到n-1列舉x,算出y是不是整數
-
發現只有在\(x^2\)整除N的時候y是整數,這樣的話\(x^2\)一定包含N的所有質因數,把N進行質因數分解,x的最小取值也就有了
-
只需要在1~N-1中找到可以整除\(x_{min}\)的數的個數再乘8就是答案
-
乘8是因為有4個角,每個角連出的中間的三角形的直角頂點有兩種情況
Code
#include <cstdio> #define int long long int n; signed main() { freopen("tri.in", "r", stdin); freopen("tri.out", "w", stdout); while (1) { scanf("%lld", &n); if (!n) break; int x = n, s = 1; for (int i = 2; i * i <= x; ++i) { if (x % i) continue; int cnt = 0; for (; x % i == 0; x /= i) cnt++; cnt = cnt + 1 >> 1; while (cnt--) s *= i; } if (x > 1) s *= x; printf("%lldn", (n - 1) / s * 8); } return 0; }
序列 (Unaccepted)
- 倍增加二分瞎搞,還沒判共比的範圍就拿了95,差一點就AK了。