问题标题: 酷町堂:3717 判断质数

0
0
已解决
王文博
王文博
缔造者之神
缔造者之神

40分

王文博在2020-08-11 11:22:01追加了内容
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int n,a=0,b=0,c;
    cin>>n;
    for(int i=2; i<=sqrt(n); i++)
	{
        if(n%i==0)
        {
        	a=1;
        	break;
		}
    }
    if(a==0) cout<<"Yes";
    else
    {
    	for(int i=n;i>=1;i--)
    	{
    		if(n%i==0)
    		{
    			b++;
    			c=i;
    			if(b==2)
				{
					cout<<c;
					break;
				} 
			}
		}
		if(b==1) cout<<n;
	}
}

 

王文博在2020-08-12 15:26:16追加了内容

跪求不超时,正确的代码!!!!


0
已采纳
李显晨
李显晨
中级启示者
中级启示者
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
bool sushu(int m){
    if(m==1){
        cout<<"1";
        return 0;
    }
    for(int i=2;i<=sqrt(m);i++){
        if(m%i==0){
            cout<<m/i;
            return 0;
        }
    }
    return 1;
}
int main(){
    int m;
    cin>>m;
    if(sushu(m)==1) cout<<"YES";
    return 0;
}

100分代码,望采纳

0
0
徐子宸
徐子宸
中级天翼
中级天翼

用判断质数的函数写:

  • bool f(int n){
  • if(n==1)return false;
  • for(int i=2;i<=sqrt(n);i++){
  • if(n%i==0){
  • return false;
  • }
  • }return true;
  • }
  •  
0
胡景波
胡景波
中级光能
中级光能
#include<iostream>
#include<cmath>
using namespace std;
bool Judge(int x){
    if(x==1) return false;
    for(int i=2;i<=sqrt(x);i++){
        if(x%i==0){
            return false;
        }
    }
    return true;
}
int main(){
    int n;
    cin>>n;
    if(Judge(n)){
        cout<<"YES";
    }
    else{
        if(n==1){
            cout<<"1";
        }
        else{
            for(int i=n-1;i>=1;i--){
                if(n%i==0){
                    cout<<i;
                    break;
                }
            }
        }
    }
    return 0;
}

别听他的

函数写超时

60分

0
0
我要回答