请注意空格和感叹号
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