14 条题解
-
6
这题可以看做是淘汰赛,有意思一点总是好的~
- 首先输入 a 个选手
- 然后每一次检查一名选手
- 每一名选手都要进行整除 2、3、5、7,只要能整除一个就可以将积分 sum 加上1
- 最终积分大于等于 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
简简单单,不就是循环判断嘛!
#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; }
-
2
这个题稍微有点皮,不过有一个小技巧,可以把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
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
</span>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; }
-
0
这道题特很简单,思路就不用说了,直接上代码! (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
只需要判断能不能被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
/*说明 请输出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
先来分析题意:
问你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; }
- 1
信息
- ID
- 742
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 3
- 标签
- 递交数
- 723
- 已通过
- 415
- 上传者