最新域名解析网站济南官网排名推广
目录
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;
}