本文主要是介绍第六届蓝桥杯-三羊献瑞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
#include"iostream"
using namespace std;int main()
{for(int i=8000;i<9999;i++){for(int j=1000;j<1999;j++){int ai[13];int num=0;ai[num++]=i/1000;ai[num++]=(i/100)%10;ai[num++]=(i/10)%10;ai[num++]=i%10;ai[num++]=j/1000;ai[num++]=(j/100)%10;ai[num++]=(j/10)%10;ai[num++]=j%10;int k=i+j;if(k<10000)continue;ai[num++]=k/10000;ai[num++]=(k/1000)%10;ai[num++]=(k/100)%10;ai[num++]=(k/10)%10;ai[num++]=k%10; if(ai[1]!=ai[7]||ai[1]!=ai[11]||ai[7]!=ai[11])continue;else if(ai[2]!=ai[10])continue; else if(ai[4]!=ai[8])continue;else if(ai[5]!=ai[9])continue;int bi[10]={0};for(int l=0;l<13;l++){bi[ai[l]]++;}if(bi[ai[1]]!=3||bi[ai[2]]!=2||bi[ai[4]]!=2||bi[ai[5]]!=2)continue;else if(bi[ai[0]]!=1||bi[ai[3]]!=1||bi[ai[6]]!=1)continue;cout<<i<<" "<<j<<" "<<i+j<<endl; }}return 0;
}
答案:9567 +1085 =10652
无脑暴力;
这篇关于第六届蓝桥杯-三羊献瑞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!