loj1014

来源:互联网 发布:淘宝白菜价群赚钱吗 编辑:程序博客网 时间:2024/06/17 19:35

题目链接:点击打开链接


一道水题,竟然wra了好几次...


附上代码:

#include <iostream>#include <cstdio>#include <cmath>using namespace std;const int N = 1e6;int ans[N],anss[N];int k,t;int p, l;void solve(){k = 0;t = 0;for (int i = 1; i <= sqrt(p); i++){if (p%i == 0){if(i>l)ans[k++] = i;if(p/i>l)anss[t++] = p / i;}}int kk = sqrt(p);if (kk>l && kk*kk == p)t--;return;}int main(){int test;scanf("%d", &test);for (int cas = 1; cas <= test; cas++){scanf("%d%d", &p, &l);p -= l;solve();printf("Case %d:", cas);if (k > 0 || t>0){for (int i = 0; i < k; i++){printf(" %d", ans[i]);}for (int i = t - 1; i >= 0; i--)printf(" %d", anss[i]);printf("\n");}elseputs(" impossible");}return 0;}

原创粉丝点击