当前位置: 首页 > news >正文

天梯赛测试题2(L1答案及其解析)

目录

L1-1自动编程

思路:

代码:

L1_2太神奇了

思路:

代码:

L1_3洛希极限

思路:

代码:

L1_4吃鱼还是吃肉

思路:

代码:

L1_5不变初心数

思路:

代码:

L1_6字母串

思路:

代码:

L1_7矩阵列平移

思路:

代码:

L1_8均是素数

思路:

代码:


L1-1自动编程

思路:

没有什么思路,直接输出即可

代码:

//
// Created by wxj05 on 2025/3/25.
//
#include "iostream"
using namespace std;
int main(){
    int n;
    cin>>n;
    cout<<"print("<<n<<")"<<endl;
}

L1_2太神奇了

 

思路:

也是直接输出,直接输出a+b-1即可

代码:

//
// Created by wxj05 on 2025/3/25.
//
#include "iostream"
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    cout<<a+b-1<<endl;
}

L1_3洛希极限

题目怪长,大都是科普的知识,提取有用部分即可 

思路:

就是一个简单的条件判断,由于涉及到小数,最好全都用double类型,不容易出错。

代码:

//
// Created by wxj05 on 2025/3/25.
//
#include "iostream"
using namespace std;
int main(){
    double a,b,c;
    cin>>a>>b>>c;
    double ans;
    if(b==0){
        ans=a*2.455;
        printf("%.2lf",ans);
    }
    else{
        ans=a*1.26;
        printf("%.2lf",ans);
    }
    if(ans>=c) cout<<" "<<"T_T";
    else cout<<" "<<"^_^";
}

L1_4吃鱼还是吃肉

思路:

也是简单的条件判断,直接无脑if,符合就输出,不符合就跳过。

代码:

//
// Created by wxj05 on 2025/3/25.
//
#include "iostream"
using namespace std;
int main(){
    int n;
    cin>>n;
    int a,b,c;
    for (int i = 0; i < n; ++i) {
        cin>>a>>b>>c;
        if(a==1){
            if(b<130) cout<<"duo chi yu! ";
            if(b>130) cout<<"ni li hai! ";
            if(b==130) cout<<"wan mei! ";
            if(c>27) cout<<"shao chi rou!";
            if(c<27) cout<<"duo chi rou!";
            if(c==27) cout<<"wan mei!";
        }
        else{
            if(b<129) cout<<"duo chi yu! ";
            if(b>129) cout<<"ni li hai! ";
            if(b==129) cout<<"wan mei! ";
            if(c>25) cout<<"shao chi rou!";
            if(c<25) cout<<"duo chi rou!";
            if(c==25) cout<<"wan mei!";
        }
        cout<<endl;
    }
}

L1_5不变初心数

思路:

就是将各各位数的数相加进行比较,由于各各位数的数多次运用,可以将其单独写一个函数,使代码更清晰明了。

代码:

//
// Created by wxj05 on 2025/3/26.
//
#include "iostream"
using namespace std;

int gwh(int a){
    int sum=0;
    while(a){
        sum+=a%10;
        a/=10;
    }
    return sum;
}
int main(){
    int n,num;
    cin>>n;
    for (int i = 0; i < n; ++i) {
        cin>>num;
        if(gwh(num)==gwh(num*2) && gwh(num)==gwh(num*3) && gwh(num)==gwh(num*4) && gwh(num)==gwh(num*5) && gwh(num)==gwh(num*6) && gwh(num)==gwh(num*7) && gwh(num)==gwh(num*8) && gwh(num)==gwh(num*9)){
            cout<<gwh(num)<<endl;
        }
        else{
            cout<<"NO"<<endl;
        }
    }
}

L1_6字母串

思路:

也是简单的条件判断,对输入的字符串逐个进行判断,如果不符合就将标记改成false。

只要满足这两个条件就可以了。 

代码:

//
// Created by wxj05 on 2025/3/26.
//
#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    string s;
    for (int i = 0; i < n; i++) {
        bool flag= true;
        cin>>s;
        for (int j = 0; j < s.size()-1; j++) {
            if('a'<=s[j] && s[j]<='z'){//小写
                if(!(s[j]-s[j+1]==32 || s[j]-s[j+1]==1)){
                    flag=false;
                }
            }
            else{
                if(!(s[j+1]-s[j]==32 || s[j+1]-s[j]==1)){
                    flag=false;
                }
            }
        }
        if(flag) cout<<"Y"<<endl;
        else cout<<"N"<<endl;
    }
    return 0;
}

L1_7矩阵列平移

思路:

这题一定要读懂题,说白了就是矩阵的简单运算。一定要看清楚题目,是1-k,1-k不断的循环,可以将0作为下标,然后判断奇数列。可以写一个函数实时检测数组的每个数据。

注意:数字替换的时候一定要从下往上替换。

代码:

//
// Created by wxj05 on 2025/3/25.
//
#include "bits/stdc++.h"
using namespace std;
vector<vector<int>> a;
int n,k,x;
void print_arr(){
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
}
int main(){
    cin>>n>>k>>x;
    a.resize(n, vector<int>(n)); // 初始化二维向量的大小
    // 输入二维向量
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            cin>>a[i][j];
        }
    }
    int p=1;
    for (int i = 1; i < n; i+=2) {
        if(p>k){
            p=1;
        }
        for (int j = n-1; j >= p; j--) {
            a[j][i]=a[j-p][i];
        }
        for (int j = 0; j < p; ++j) {
            a[j][i] = x;
        }
        p++;
    }
    // print_arr();// 用于检测数组
    for (int i = 0; i < n; ++i) {
        int sum=0;
        for (int j = 0; j < n; ++j) {
            sum+=a[i][j];
        }
        if(i!=n-1) cout<<sum<<" ";
        else cout<<sum;
    }
    return 0;
}

L1_8均是素数

思路:

主要考察素数的判断,可以[m,n]中的所有素数都找出来,放入数组中存起来,然后就是暴力枚举了,将每种情况都进行判断即可。

看输入格式就不难发现,这道题想让我们枚举。毕竟给的范围是真的小,时间复杂度不会超过1e9. 

代码:

//
// Created by wxj05 on 2025/3/25.
//
#include "bits/stdc++.h"
using namespace std;
vector<int> ss_arr;
int ans=0;
bool ss(int a){
    if(a==1 || a==0) return false;
    if(a==2) return true;
    for (int i = 2; i*i <= a; ++i) {
        if(a%i==0) return false;
    }
    return true;
}
void print_arr(){
    for(int i=0;i<ss_arr.size();i++){
        cout<<ss_arr[i]<<" ";
    }
}
int main(){
    int m,n;
    cin>>m>>n;
    for (int i = m; i <= n; ++i) {
        if(ss(i)) ss_arr.push_back(i);
    }
    for (int p = 0; p < ss_arr.size(); ++p) {
        for (int q = p; q < ss_arr.size(); ++q) {
            for (int r = q; r < ss_arr.size(); ++r) {
                if(ss(ss_arr[p]*ss_arr[q]+ss_arr[r]) && ss(ss_arr[p]*ss_arr[r]+ss_arr[q]) && ss(ss_arr[q]*ss_arr[r]+ss_arr[p])){
                    ans++;
                }
            }
        }
    }
    cout<<ans;
    return 0;
}

相关文章:

  • .netCore的winform程序如何调用webapi
  • 软考笔记——软件工程基础知识
  • 未来技术的发展趋势与影响分析
  • dji飞行控制
  • AOA(到达角度)与TOA(到达时间)两个技术的混合定位,MATLAB例程,自适应基站数量,三维空间下的运动轨迹,滤波使用UKF(无迹卡尔曼滤波)
  • 7.5 窗体事件
  • [学成在线]07-视频转码
  • 链表-LeetCode
  • viewModelScope.launch(Dispatchers.IO)和withContext(Dispatchers.IO)
  • 如何用 Postman 发送 POST 请求?
  • 从入门到精通:SQL注入防御与攻防实战——红队如何突破,蓝队如何应对!
  • collections.Counter()介绍——快速统计元素出现的次数
  • python蓝桥杯刷题的重难点知识笔记
  • 如何处理不同输入类型(例如邮箱、电话号码)的验证?
  • 消息队列性能比拼: Kafka vs RabbitMQ
  • 26考研——栈、队列和数组_栈(3)
  • 26考研——树与二叉树_树、森林(5)
  • 学习爬虫的第二天——分页爬取并存入表中
  • AI Agent开发大全第十二课-向量数据库Qdrant使用全教程
  • 自然语言处理入门5——LSTM
  • 第十一届世界雷达展开幕,尖端装备、“大国重器”集中亮相
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:没太多包袱,很多事都能从零开始
  • 技术派|威胁F-35、击落“死神”,胡塞武装防空战力如何?
  • 夜读丨什么样的前程值得把春天错过
  • 试点首发进口消费品检验便利化措施,上海海关与上海商务委发文
  • 350种咖啡主题图书集结上海,20家参展书店买书送咖啡