三羊献瑞: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		*/

猜你喜欢

转载自www.cnblogs.com/52dxer/p/10563751.html