3 条题解
-
4
代码
#include<iostream> using namespace std; int main(){ int z[100000]; int a,b=0; cin>>a; for(int i=1;i<=a;i++){ cin>>z[i]; } for(int i=1;i<=a;i++){ if (z[i]%7==0){ if (z[i]%3==0){ if (z[i]>=b){ b=z[i]; } } } } cout<<b<<endl; return 0; }这里是加上注释的代码
#include<iostream> using namespace std; int main(){ int z[100000];//中括号是说这个变量里面有很多个数据 int a,b=0;//上下两行变量应该可以缩成一行,只不过这样方便展示 cin>>a;//这里是第一行要输入的数据数量 for(int i=1;i<=a;i++){ cin>>z[i];//循环输入数据 } for(int i=1;i<=a;i++){ if (z[i]%7==0){//这里检测数据是否是7的倍数 if (z[i]%3==0){//这里再检测是否是3的倍数 if (z[i]>=b){//如果数字更大就替换 b=z[i]; } } } } cout<<b<<endl;//输出,这里很基础了吧 return 0; } -
2
那个......我想知道这题难度为什么是5......
是的,我又是来水题解的。对于这么简单的题,我们只需要判断a[i]是否能同时整除7和3再取最大值就行了。
AC代码如下:
#include<bits/stdc++.h> using namespace std; const int N=1e2+9; int a[N]; int main(){ int n; cin>>n; int ans=0; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]%7==0&&a[i]%3==0){ ans=max(ans,a[i]); } } cout<<ans; //是不是有人奇怪这里要不要判一下a数组中是否有能同时整除7和3? //其实不用。因为如果没有,for循环里的if语句就不会被执行,就会输出ans的初始值0,符合题意。 return 0; } -
1
这道题其实可以不用数组,边读边算,代码如下。
#include <iostream> #include <algorithm> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n,ans = 0; cin >> n; for (int i = 0; i < n; i++) { int a; cin >> a; if (a % 21 == 0) { ans = max(a,ans); } } cout << ans; return 0; }
- 1
信息
- ID
- 45
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 185
- 已通过
- 72
- 上传者