自学内容网 自学内容网

蓝桥杯萌新首秀”全国高校新生编程排位赛3

#include<iostream>
using namespace std;
int main(){
  cout<<2028;

  return 0;
}

第一题的话是判断闰年然后首先是2025年,能被4整除不对100整除2025后面是2028直接输入就行

#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int a[100001];
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    sort(a, a+n);
    if (a[0] != 1) {
        cout << 1<<endl;
        return 0;
    }
    for (int i = 0; i < n-1; i++) {
        if (a[i+1] > a[i]+1) {
           
                cout << a[i] + 1<<endl;
                
                return 0;
           
        }
    }
  
    cout << a[n - 1] + 1<<endl;

    return 0;
}

第二题 先排序sort进行,先判断是否有1,没有1直接输入1这点很重要。然后比较是否差值为1不为1的直接cout结果否则都没有输入最大值加1

第三题   先不讲我没想到方法.....

第四题   因为题是枚举题所以for循环注意的是本身for循环的二层和三层是原来基础上加1不是简单是让i=0,j=1,z=2,你可以想一想这样做的结果。然后应用了一个stl的容易set他是非常适用于查找重复元素输入的容器非常建议使用和学习一个set的使用。然后本身0也算一种直接结果加上1就行也可以将0输入在set容器里面也可以。

#include<iostream>
#include<string>
#include <set>
using namespace std;
int main() {
int a[31];
int n;
cin >> n;
set<int> b;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
b.insert(a[i]);
for (int j = i+1; j < n; j++) {
b.insert(a[i] + a[j]);
for (int z = j+1; z < n; z++) {
b.insert(a[i] + a[j] + a[z]);
}
}
}
cout << b.size() + 1;

return 0;
}

第五题   这个有点意思,本身奇数无论怎么选都是1的结果,我刚开始以为直接除以2就行没想到还给绊了一下,你可以自行算一算,偶数情况下是除以2的结果奇数输入1即可 

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;

   if(n==1||n==3){
     cout<<1;
     return 0;
   }
   if(n%2==0){
     cout<<n/2;
     return 0;
   }
   else{
     cout<<1;
   }

    return 0;
}

没了谢谢支持。小遍也是第一次把这个蓝桥的赛题写完写对虽然第三题是用al写的。也是很不容易,还有我也不是大一是大二的嘿嘿。好了加油好好学习天天向上。摸摸鸡


原文地址:https://blog.csdn.net/2301_80844586/article/details/142894882

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!