三羊献瑞:next_permutation()
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
题目描述:可以观察得到‘三’只能为1,那么‘祥’只能为9,用next_permutation()枚举一下,感觉蓝桥杯全排列用的挺多的。
#include <stdio.h> #include<iostream> #include<algorithm> using namespace std; int a[]={0,1,2,3,4,5,6,7,8,9}; int x,y,z; int main() { do{ if(a[0]==9&&a[4]==1){ x=a[0]*1000+a[1]*100+a[2]*10+a[3]; y=a[4]*1000+a[5]*100+a[6]*10+a[1]; z=a[4]*10000+a[5]*1000+a[2]*100+a[1]*10+a[7]; if(x+y==z){ cout<<"x:"<<x<<" y:"<<y<<" z:"<<z<<endl; break; } } }while(next_permutation(a,a+10)); return 0; } /* x:9567 y:1085 z:10652 */