选择数字完成以下逆序成绩式DE×FG=ED×GF,式中的每一个字母代表一个数字,不同的字母代表不同的数字。试找出所有符合条件的逆序成绩式。

题目:

选择数字完成以下逆序成绩式DE×FG=ED×GF,式中的每一个字母代表一个数字,不同的字母代表不同的数字。试找出所有符合条件的逆序成绩式。 输出样例

12∗63=21∗36

12∗84=21∗48

13∗62=31∗26

14∗82=41∗28

23∗64=32∗46

23∗96=32∗69

思路:DEFG字母的取值范围再1-9(可以缩短取值范围),可以进行多重循环,枚举出所有的可能性再一一对比,符合条件的被录入输出。关键是可以由DE×FG=ED×GF推到出D*F=E*G,在后面做判断可以用到。需要注意的是每个字母都代表不同的数字,即不能多个字母的值是同一个数字,我就在这里没转过弯。

代码如下:

package day1_1;

//选择数字完成以下逆序成绩式DE×FG=ED×GF,式中的每一个字母代表一个数字,不同的字母代表不同的数字。试找出所有符合条件的逆序成绩式。
//输出样例
//12*63=21*36
//12*84=21*48
//13*62=31*26
//14*82=41*28
//23*64=32*46
//23*96=32*69

public class T3 {
	
	public static void main(String[] args) {
		int x,y,a,b;
		
		for(x=1;x<=9;x++) {
			for(y=x+1;y<=9;y++) {
				for(a=y+1;a<=9;a++) {
					if((x*a%y)==0) {
						b=x*a/y;
						if(b!=x&&b!=a&&b!=y) {
							System.out.println((x*10+y)+"*"+(a*10+b)+"="+(y*10+x)+"*"+(b*10+a));
						}
						
					}
				}
			}
		}

	}

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值