为什么全错啊。。。求助

P2043 质因子分解

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


|