1259: [蓝桥杯2015初赛]三羊献瑞

题目叙述:

观察下面的加法算式:

 


其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

输出格式:

请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。

法一:

通过数学的角度来做题

为了大家更好理解数学思考这个过程我找到了其他作者的视频可以看一下:1259 [蓝桥杯2015初赛]三羊献瑞【算法:数学】_哔哩哔哩_bilibiliicon-default.png?t=M0H8https://www.bilibili.com/video/BV1hh411Z7aX?spm_id_from=333.999.0.0

法二:

从编程的角度看:

#include <iostream>
#include <algorithm>

using namespace std;

int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

int main(){
    do{
        int s1, s2, s3;
        if (a[4]!=0){//s2是一个四位数
            s1 = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
            s2 = a[4] * 1000 + a[5] * 100 + a[6] * 10 + a[1];
            s3 = a[4] * 10000+ a[5] * 1000 + a[2] * 100 + a[1] * 10+ a[7];
        }
        if (s1 + s2 == s3){
            cout << s2 << endl;
            break;
        }
    }  
    while (next_permutation(a, a + 10));
    
    return 0;
}

最好先看数学方式的做题,再看代码就更清楚明白了; 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值