A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© to_love 中级黑马   /  2015-8-23 11:27  /  492 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。

5 个回复

倒序浏览
我的思路:a[a]a[b]*a[c]a[d] = a[b]a[a]*a[d]a[c],将字符转换成int进行判断,记得十分位乘以10加上个位进行组合

点评

说错了,可以忽略  发表于 2015-8-23 11:38
回复 使用道具 举报
嵌套四个for循环
回复 使用道具 举报
ABCD四个数字如果可以一样  或者A和D一样   B和C一样那么就太多了  。如果没有限制  要进行多种判断。当有一方为0的时候哪另外一个爱是谁都行。。。还有如果为AB*BA类型 两边换过来都行得。所以吧条件分开判断最后打印就行了  毕竟只有0到9.哈哈
回复 使用道具 举报
#include <stdio.h>
void main()
{
        int a,b,c,d;
        for(a=0; a<=9; a++)
                for(b=0; b<=9; b++)
                        for(c=0; c<=9; c++)
                                for(d=0; d<=9; d++)
                                {
                                        if((a*10+b)*(c*10+d)==(10*b+a)*(10*d+c))
                                                if((a!=b)&&(a!=c)&&(a!=d)&&(b!=c)&&(b!=d)&&(c!=d))
                                                        printf("\n%d%d*%d%d=%d%d*%d%d",a,b,c,d,b,a,d,c);
                                }                                       
}
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马