25 条题解

  • -1
    @ 2022-8-2 22:57:35
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, x;
        bool flag;
        flag = true;
        cin >> n;
        for (int i = 2; i <= n/2; i++)
        {
            if (n % i == 0)
            {
                flag = false;
                x = i;
                break;
            }
        }
        if (flag)
        {
            cout << "Yes";
        }
        else
        {
            cout << x;
        }
        return 0;
    }
    

    简单解法

    • @ 2022-8-22 20:47:17

      可以吧i <= n / 2改成i * i <= n eee,《简单写法》,不够精简

  • -1
    @ 2022-5-20 17:37:30

    首先要知道什么是质数? 质数是除了1和本身之外没有其他约数的数。如2 、3、5都是质数,6不是质数,因为6除了约数1和6之外还有约数2和3。

    其次要判断该数是否是质数,只需要判断该数n对2~n-1取余是否有余数即可

    • 如果有余数,则不是质数,立马输出当前被取余的数字i,停止循环;
    • 如果循环结束后,i等于该数字,则说明数字n只有1和它本身的约数,即为质数,输出“Yes”。
    int i=2;  //i从2开始遍历,不用对1进行遍历,因为对1取余的余数为0,直接输出,结束循环
    while(i<n) //从2遍历到n-1,不用对n进行遍历,对n取余的余数为0,直接输出,结束循环
    {
    	if(n%i==0) //如果n对当前数字i取余结果为0,则表示i是n其中的一个约数
    	{
    		cout <<i;	//输出i,即为这个数n大于1的最小约数
    		break; //跳出循环
    	}
    	i++; //如果n对i取余不为0,让i自增,不断循环
    }
    if(i==n) //如果循环结束后i等于n的话,表示n的约数只有1和n,则n是质数
    {
    	cout <<"Yes";
    }
    
  • -1
    @ 2022-5-4 12:49:38

    比较易懂的写法

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n, x;
        bool flag;
        flag = true;
        cin >> n;
        for (int i = 2; i <= n/2; i++)
        {
            if (n % i == 0)
            {
                flag = false;
                x = i;
                break;
            }
        }
        if (flag)
        {
            cout << "Yes";
        }
        else
        {
            cout << x;
        }
        return 0;
    }
    
    • -1
      @ 2022-4-24 15:58:54

      鼓励大家写题解,但注意题解格式。

      给代码两端加上这个会舒服一些

      ```cpp

      你的代码

      ```

      </span>

      这个点在键盘的左上角tab上面那个键,注意切换输入法

      #include<iostream>
      using namespace std;
      int main()
      {
          int n;
          cin>>n;//这是一个注释
          return 0;
      } 
      

      请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

      抄袭题解一经发现直接取消成绩。

      • -1
        @ 2022-2-24 20:12:33
        #include <bits/stdc++.h> 
        using namespace std; 
        int panduan(int a)
        {
        	for(int i = 2;i <= sqrt(a);i++)
        	{
        		if(a % i == 0)
        		{
        			return i;
        		}
        	}
        	return 0;
        }
        int main() 
        { 
            int n;
            cin >> n;
            if(panduan(n) == 0)
            {
            	cout << "Yes";
        	}
        	else
        	{
        		cout << panduan(n);
        	}
        }
        

        信息

        ID
        62
        时间
        1000ms
        内存
        16MiB
        难度
        3
        标签
        递交数
        2045
        已通过
        1084
        上传者