3 条题解

  • 2
    @ 2024-2-14 14:27:38

    这一看就得用函数的,在函数里写上判断素数的程序,接着一套循环遍历,刚开始先把sum设为0,接着循环,如果循环变量是函数就把sum加上一,表示1到n之间又有一个素数了,最后打印出sum和换行,完事!

    #include <bits/stdc++.h>
    using namespace std;
    int prime(int n)
    {
        bool f = true;
        for (int i = 2; i < n; i++)
        {
            if (n % i == 0)
            {
                f = false;
                break;
            }
        }
        return f;
    }
    int main()
    {
        int n, sum;
        for (int i = 1; i <= 114514; i++)
        {
            cin >> n;
            sum = 0;
            for (int j = 2; j <= n; j++)
            {
                if (prime(j))
                {
                    sum++;
                }
            }
            if (n != 0)
            {
                cout << sum << endl;
            }
        }
        return 0;
    }
    
    • 1
      @ 2023-9-24 15:06:37

      其实本题就是质数加循环遍历,没什么难点

      #include <bits/stdc++.h>
      #define int long long
      using namespace std;
      int n;
      bool isprime(int n)
      {
          for (int i = 2; i <= sqrt(n); i++)
              if (n % i == 0)
                  return false;
          return true;
      }
      int check(int n)
      {
          int ans = 0;
          for (int i = 2; i <= n; i++)
              if (isprime(i))
                  ans++;
          return ans;
      }
      signed main()
      {
          while(cin >> n)
          {
              if (n == 0)
                  break;
              cout << check(n) << endl;
          }
          return 0;
      }
      
      • 0
        @ 2023-1-19 20:58:27

        我说我乱编的,对了就行,反正我看不懂。

        #include <bits/stdc++.h>
        using namespace std;
        int main()
        {
            for(long long i=1;i<=9999999;i++)
            {
                long long n,d=1;
                cin >> n;
                if(n==0)
                {
                    break;
                }
                int num=0;
                for(int j=1;j<=n;j++)   
                {
                    d=1;
                    for(int c=2;c<j;c++)
                    {
                        if(j%c==0)
                        {
                            d=0;
                            break;
                        }
                    }
                    if(d==1)
                    {
                        num++;
                    }
                }
                cout << num-1 << endl;
            }
        }
        
        • 1

        信息

        ID
        176
        时间
        1000ms
        内存
        64MiB
        难度
        2
        标签
        递交数
        84
        已通过
        50
        上传者