【2024年中山市信息学邀请赛小学组线上赛】第一第二题

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;
}

最后输出符合要求三元组的数量。 

好了,这次讲解就到这里,下章再见!

  • 43
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值