为什么它说我第二行短?

P1619 解一元二次方程的烦恼

请注意空格和感叹号
by 已注销%Jm9VScx @ 2018-10-31 10:38:33


你先看完代码好吧?
by Wisbtsml @ 2018-10-31 10:39:44


~~因为你短~~
by 狸狸养的敏敏 @ 2018-10-31 10:42:47


看~~(chao)~~题解
by 已注销%Jm9VScx @ 2018-10-31 10:46:35


@[Wisbtsml](/space/show?uid=87977) dalao我把您的代码交上去之后。。。 。。。 。。。 就拿了30分 qwq
by 狸狸养的敏敏 @ 2018-10-31 10:48:30


。。。
by Wisbtsml @ 2018-10-31 10:49:24


为什么我一分没有
by Wisbtsml @ 2018-10-31 10:49:46


@[Wisbtsml](/space/show?uid=87977) 大佬请看此言 **需要注意,此题部分输入数据含有空格,所以要 getline() 或 gets()。**
by 狸狸养的敏敏 @ 2018-10-31 10:50:30


@[Wisbtsml](/space/show?uid=87977) 经过蒟蒻我的对拍与检查 把dalao您的代码做了一些修改 然后就 AC了qwq ```cpp #include<bits/stdc++.h> #define ll long long using namespace std; bool flag; inline ll read() { ll x = 0; string s; flag = false; getline(cin,s); int len = s.size(); for(int i = 0; i < len; ++i) if(x <= 400000000 && s[i] >= '0' && s[i] <= '9') x = (x << 3) + (x << 1) + (s[i] ^ 48), flag = true; return x; } ll n; inline bool zhi(ll x) { if(x == 2) return 1; if(x<2)return 0; int sqr = sqrt(x); for(int i = 2; i <= sqr; i ++) if(x%i==0) return 0; return 1; } int vis[44444], ans[44444],num; inline void zys(ll x) { int i = 2; while(x != 1) { if(!(x % i)) { vis[++num] = i; while(!(x % i)) ans[num]++, x /= i; } ++i; } return ; } int main() { //freopen("test.in", "r", stdin); //freopen("dalao.out", "w", stdout); while(233) { n = read(); printf("Enter the number=\n"); if(!flag) break; if(zhi(n)) printf("Prime? Yes!\n"); else { printf("Prime? No!\n"); if(n > 40000000) printf("The number is too large!\n"); else if(n > 2) { memset(vis, 0, sizeof(vis)); memset(ans, 0, sizeof(ans)); num = 0; printf("%lld=", n); zys(n); for(int i = 1; i <= num; ++i) { printf("%d^%d", vis[i], ans[i]); if(i != num) putchar('*'); } putchar('\n'); } } putchar('\n'); } return 0; } ```
by 狸狸养的敏敏 @ 2018-10-31 11:07:09


|