hello,大家好,我是静静等着。
今天我们讲的是前几天开展的那个2024年中山市信息学邀请赛小学组线上赛前两道题的答案,有什么修改建议请在评论区留言。
(由于啊这次比赛的那个题应该是没发下来,所以我凭我的记忆来讲)
NO.1
这题是说那个Jimmy 他有一个四位数密码,要你来帮他判断这个密码是否安全(如果密码各个位数都相同,比如1111,那就不安全,输出“unsafe”;如果后三位都是前一位+1,也不安全,也输出“unsafe”;如果不是这两种情况,那就安全,输出“safe”)
样例输入
1165
样例输出
safe
代码讲解如下:
#include<iostream>
using namespace std;
int main()
{
先头文件。
int mima,g,s,b,q;
cin>>mima;//定义五个变量,其中mima为输入的密码,其他为此密码的位数
然后定义变量。输入变量mima。
g=mima%10;
s=mima/10%10;
b=mima/100%10;
q=mima/1000;
然后分离位数。
if(g==s&&g==b&&g==q){
cout<<"unsafe";
}
然后第一种可能(就1111那种),当四个位数相等(判断时记得要用逻辑运算符,不要g==s==b==q),啊输出unsafe。
else if(b==(q+1)%10&&s==(b+1)%10&&g==(s+1)%10){
cout<<"unsafe";
}
第二种情况(1234那种),啊也输出unsafe。
else{
cout<<"safe";
}
}
除了上面的两种情况(1165那种),输出safe。
好,这第一题完事了,再来讲第二题。
NO.2
这题说的是那个三元组(a+b+c=S,a*b*c=T),要用到那个循环。
输入:两个整数S和T,代表两种三元组的终点。
输出:有多少个三元组符合要求。
样例输入
1 0
样例输出
3
代码讲解如下:
#include <iostream>
using namespace std;
int main()
{
先三件套 。
int S,T,q=0;
cin>>S>>T;
定义三个变量, 输入S、T,q为符合要求三元组的数量。
for(int a=0;a<=S;a++){
for(int b=0;b<=S;b++){
for(int c=0;c<=S;c++){
if(a+b+c<=S&&a*b*c<=T){
q++;//当情况满足,数量增加。
}
}
}
}
cout<<q;
}
最后输出符合要求三元组的数量。
好了,这次讲解就到这里,下章再见!
标签:输出,cout,10,第一第二,上赛,三元组,2024,int,mima From: https://blog.csdn.net/Landon_a_boy/article/details/139722846