14 条题解

  • 6
    @ 2022-8-16 18:35:59

    这题可以看做是淘汰赛,有意思一点总是好的~

    1. 首先输入 a 个选手
    2. 然后每一次检查一名选手
    3. 每一名选手都要进行整除 2、3、5、7,只要能整除一个就可以将积分 sum 加上1
    4. 最终积分大于等于 2 的选手将被输出在表彰大会的屏幕上

    上代码!(依旧 AC 过~)

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a, sum = 0;
        cin >> a;
        for (int i = 1; i <= a; i++)
        {
            sum = 0;
            if (i % 2 == 0) sum += 1;
            if (i % 3 == 0) sum += 1;
            if (i % 5 == 0) sum += 1;
            if (i % 7 == 0) sum += 1;
            if (sum >= 2) cout << i << endl;
        }
    	return 0;
    }
    
    • 4
      @ 2022-8-25 10:27:53

      简简单单,不就是循环判断嘛!

      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n;
          cin >> n;
          for (int i = 1; i <= n; i++)
          {
              int x = 0;
              if (i % 2 == 0)
              {
                  ++x;
              }
              if (i % 3 == 0)
              {
                  ++x;
              }
              if (i % 5 == 0)
              {
                  ++x;
              }
              if (i % 7 == 0)
              {
                  ++x;
              }
              if (x >= 2)
              {
                  cout << i << endl;
              }
          }
          return 0;
      }
      
      • @ 2023-1-5 17:07:07

        看着那++x好难受,还是x++好点

    • 2
      @ 2023-11-19 15:05:35

      这个题稍微有点皮,不过有一个小技巧,可以把2、3、5、7四个数字存在一个数组中,通过标识符temp进行判断能被其中的几个数字整除。 1、输入一个整数,即转整操作。 2、把2、3、5、7四个数字存入到数组中。 3、因为最小符合条件的数字是6,所以从6开始遍历。 4、在第一重循环里加入一个标识符temp,用于记录可以被数组里的几个元素整除,用于做后续的判断条件。 5、对每一个数字遍历数组里的每一个数字,并记录能被几个数字整除。 6、使用for-else语句,当for循环执行结束,开始执行else语句,用于判断输出满足条件的数字。

      n = int(input())
      nl = [2, 3, 5, 7]
      for i in range(6, n + 1):
          temp = 0
          for j in nl:
              if i % j == 0:
                  temp += 1
          else:
              if temp > 1:
                  print(i)
      
      • 2
        @ 2023-8-10 20:47:37

        遍历数组判断。

        #include <iostream>
        using namespace std;
        int main()
        {
            int n,cnt,a[]={2,3,5,7};
            cin>>n;
            for (int i=1;i<=n;i++)
            {
                cnt=0;
                for (int j=0;j<4;j++) if (i%a[j]==0) cnt++;
                if (cnt>=2) cout<<i<<endl;
            }
            return 0;
        }
        
        • 2
          @ 2023-8-4 20:50:17

          L2小萌新预习完来练手了😄 这道题用到了if语句......不会讲了👀️ 直接上代码吧🚀️

          #include <bits/stdc++.h>
          using namespace std;
          int main()
          {
              int a , s = 0;
              cin >> a;
              for (int i = 1;i <= a;i++)//从1到n逐一遍历
              {
                  if (i % 2 == 0) s++;
                  if (i % 3 == 0) s++;
                  if (i % 5 == 0) s++;
                  if (i % 7 == 0) s++;//看i能整除2、3、5、7中的几个
                  if (s >= 2) cout << i << endl;//大于两个就输出
                  s = 0;//记得在最后赋s为0
              }
              return 0;
          }
          
          • 2
            @ 2022-7-31 15:32:15
            bool divide(int n,int m)    //定义一个函数用来判断是否能被某个数字整除
            {
                if (n%m==0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            int main()
            {
                int n;
                cin >> n;
                for (int i = 1;i<=n;i++)
                {
                    int sum=0;             // 遍历1~n的每一个数,每一次计数器都要归零
                    if (divide(i,2))        //依次判断是否能被2、3、5、7整除,若能则计数器++
                    {
                        sum++;
                    }
                    if (divide(i,3))
                    {
                        sum++;
                    }
                    if (divide(i,5))
                    {
                        sum++;
                    }
                    if (divide(i,7))
                    {
                        sum++;
                    }
                    if (sum>=2)     //符合条件则输出这个数字
                    {
                        cout << i << endl;
                    }
                }
                return 0;
            }
            
            </span>
            • 1
              @ 2024-4-15 19:35:46
              #include<iostream>
              using namespace std;
              int n,num;
              int main(){
                  cin>>n;
                  for(int i=1;i<=n;i++){
                      num=0;
                      //依次判断
                      if(i%2==0)
                          num++;
                      if(i%3==0)
                          num++;
                      if(i%5==0)
                          num++;
                      if(i%7==0)
                          num++;
                      if(num>=2)
                          cout<<i<<endl;
                  }
                  return 0;
              }//编者:Royal
              
              • 0
                @ 2024-4-29 21:21:32

                这道题特很简单,思路就不用说了,直接上代码! (AC)


                #include <bits/stdc++.h>
                using namespace std;
                int main()
                {
                    int n,sum = 0;
                    cin >> n;
                    for (int i = 1; i <= n; i++)
                    {
                        sum = 0;
                        if (i % 2 == 0)
                		{
                			sum++;
                		}
                        if (i % 3 == 0)
                		{
                			sum++;
                		}
                        if (i % 5 == 0)
                		{
                			sum++;
                		}
                        if (i % 7 == 0)
                		{
                			sum++;
                		}
                        if (sum >= 2)
                		{
                			cout << i << endl;
                		}
                    }
                	return 0;
                }
                
                
                • 0
                  @ 2024-1-27 11:28:42

                  只需要判断能不能被2,3,5,7其中两个数整除就行了~~~~~~~~~~~~~~~~~~~~~~~~~ 话不多说,上代码!(此代码AC,有点长)``` #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; for (int i = 1;i <= n;i++) { if ((i % 6 == 0)|| (i % 10 == 0) || (i % 14 == 0) || (i % 15 == 0) || (i % 21 == 0) || (i % 35 == 0)) { cout << i << endl; } } return 0; }

                  
                  
                  • 0
                    @ 2023-8-30 11:14:24

                    过辣!

                        long long n,a=0;
                        cin>>n;
                        for (int i=1;i<=n;i++)
                        {
                            a=0;//a一定要归零,不然就会引起[0 Wrong Answer]的追杀
                            if (i%2==0)
                            {
                                a++;
                            }
                            if (i%3==0)
                            {
                                a++;
                            }
                            if (i%5==0)
                            {
                                a++;
                            }
                            if (i%7==0)
                            {
                                a++;
                            }
                            if (a>=2)
                            {
                                cout<<i<<endl;
                            }
                            //5个if没有感情,没有技巧,唯手熟尔,你也可以
                        }
                    
                    • 0
                      @ 2023-7-20 18:43:25
                      #include <cstdio>
                      using namespace std;
                      int main(){
                          int n,cnt=0;
                          scanf("%d",&n);
                          for(int i=1;i<=n;i++){
                              cnt=0;
                              if(i%2==0)cnt++;
                              if(i%3==0)cnt++;
                              if(i%5==0)cnt++;
                              if(i%7==0)cnt++;
                              if(cnt>=2)printf("%d\n",i);
                          }
                          return 0;
                      }
                      
                      • 0
                        @ 2023-1-2 20:11:45

                        /*说明 请输出1~n中至少能够被2、3、5、7中两个及两个以上的数整除的数?

                        比如:30,就是能够被2、3、5、7中的3个数整除,就是符合条件的数。

                        输入格式 一个整数n(n<=200)

                        输出格式 输出1~n中满足条件的数,每行1个*/ #include<iostream> using namespace std; int main() { int a; cin>>a; for(int i=1;i<=a;i++) { int b=0; if(i%20) { b++; } if(i%30) { b++; } if(i%50) { b++; } if(i%70) { b++; } if(b>=2) { cout<<i<<endl; } } return 0; }

                        • 0
                          @ 2023-1-2 10:56:36

                          先来分析题意:

                          问你1-n中有多少个数能被2、3、5、7这四个数中的任意两个或两个以上个数整除,那么就输出该数。

                          本题考查循环和分支的嵌套使用,话不多说,上代码!!!(AC过,相信UP)

                          #include<iostream>
                          using namespace std;
                          int main()
                          {
                          	int n;
                          	cin>>n;//输入n
                          	for(int i=1;i<=n;i++)
                          	{
                          		int num=0;//新建计数变量,用来判断能被几个数整除
                          		if(i%2==0)//判断这个数是否能被2整除
                          		{
                          			num++;//计数变量+1
                          		}
                          		if(i%3==0)//判断这个数是否能被3整除
                          		{
                          			num++;//计数变量+1
                          		}
                          		if(i%5==0)//判断这个数是否能被5整除
                          		{
                          			num++;//计数变量+1
                          		}
                          		if(i%7==0)//判断这个数是否能被7整除
                          		{
                          			num++;//计数变量+1
                          		}
                          		if(num>=2)//判断这个数是否能被两个及以上的数整除
                          		{
                          			cout<<i<<endl;//如果成立,输出这个数
                          		}
                          	}
                          	return 0;
                          }
                          
                          • -3
                            @ 2022-5-26 17:22:57

                            使用for循环找到1~n之间的所有数

                            在循环内定义计数变量并初始化为0,int ans = 0;(每次判断都要将计数变量初始化为0)

                            依次判断每一个数能否被2/3/5/7整除,能整除就ans++

                            对于单独的数,统计完成后判断ans的值,ans大于等于2就输出数字

                            记得换行输出哦~

                          • 1

                          【入门】能被2、3、5、7中至少2个数整数的数

                          信息

                          ID
                          742
                          时间
                          1000ms
                          内存
                          64MiB
                          难度
                          3
                          标签
                          递交数
                          723
                          已通过
                          415
                          上传者