emm……
by 陌屿 @ 2019-07-27 16:50:24
~~~~
#include<stdio.h>
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n,i,k,b;
cin>>n;
for(i=1;i<=sqrt(n)+1;i++){
if(n%i==0){
k=n/i;
if(k>i) b=k;
else b=i;
}
}
cout<<b;
}
~~~~
我很早之前写的……
by 陌屿 @ 2019-07-27 16:51:06
emm....
你们都是秀儿,可惜我不是,~~我是魔鬼~~
by MC_long_live @ 2019-07-27 16:53:16
@[我是战神!](/space/show?uid=213284) 您是战神
by Xecades @ 2019-07-27 16:56:20
@[Dawn716](/space/show?uid=220754)
N久前做的(话说我们是不是在一个机房?)
```cpp
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<map>
using namespace std;
#define unknown -1
#define isprime 1
#define notprime 0
map<int,int> m;
int n,last=-1;
int primes[1000000];
int put(int);
int prime(int);
int main()
{
memset(primes,unknown,sizeof(primes));
primes[2]=isprime;
cin>>n;
for(int i=n;i>0;i--)
{
put(i);
}
for(int i=2;i<=last;i++)
if(m[i]!=0)
cout<<i<<" "<<m[i]<<endl;
cin.get();cin.get();
return 0;
}
int put(int s)
{
for(int i=2;i<=s;i++)
{
if(prime(i)==isprime)
{
while(s%i==0)
{
s/=i;
m[i]++;
last=max(last,i);
}
}
}
}
int prime(int p)
{
if(primes[p]!=unknown)
return primes[p];
for(int i=2;i<=sqrt(p)+1;i++)
if(p%i==0)
{
primes[p]=notprime;
return notprime;
}
primes[p]=isprime;
return isprime;
}
```
看来做复杂了
by Xecades @ 2019-07-27 16:56:59
哦我知道了。
第六行删掉i++。
这下过了。
by Dawn716 @ 2019-07-27 17:17:27