桥本等式

桥本等式:等式两边没有重复数,且包括从0-9的所有数,如1/26+5/78=4/39

#include<iostream>
#include<math.h>
using namespace std;

int main(){
	int g,i,j,k,n,a[10];
	long m1,m2,m3;
	
	i=1;a[1]=1;n=0;
	
	while(1){
		g=1;
		for(k=i-1;k>=1;k--)
		   if(a[i]==a[k]) g=0; //两数相同,标记为g=0 
		   
		if(i==9&&g==1&&a[1]<a[4]){
			m1=a[2]*10+a[3]; m2=a[5]*10+a[6];m3=a[8]*10+a[9];
			if(a[1]*m2*m3+a[4]*m1*m3==a[7]*m1*m2){//判断是否满足等式 
				n++;
				//cout<<n<<" ";
				cout<<a[1]<<"/"<<m1<<"+"<<a[4]<<"/"<<m2<<"="<<a[7]<<"/"<<m3;
				cout<<endl; 
			}
		}
		
		if(i<9&&g==1){//不到9个数,往后继续 
			i++;a[i]=1;continue;
		}
		
		for(j=1;j<=9;j++){  
			if(a[i]==9&&i>1) i--;
			else break;  //往前返回 
		}
		
		if(a[i]==9&&i==1) break;
		else a[i]++;  //至第一个数为9结束 
		
	}
	
	
	return 0;
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值