| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5835 人关注过本帖
标题:有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一个数字,试找出所有符合 ...
只看楼主 加入收藏
GooSpider
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-16
收藏
 问题点数:0 回复次数:5 
有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一个数字,试找出所有符合上述要求的乘积式并打印输出
#include<stdio.h>
int main(void)
{
    int a,b,c,d;
    for(a=1;a<10;a++)
        for(b=1;b<10;b++)
            for(c=1;c<10;c++)
            {
                for(d=1;d<10;d++)
                    if((a*10+b)*(c*10+d)==(b*10+a)*(d*10+c))
                    {
                        printf("%d%d*%d%d=%d%d*%d%d\t",a,b,c,d,b,a,d,c);
                        printf("\n");
                    }
            }
}
这个运行速度慢,编程思想死板,求各高手其他方法。 大家都别藏着了,拿出啦晒晒吧!!
搜索更多相关主题的帖子: 数学 数字 
2012-02-25 16:28
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
收藏
得分:0 
第一,可以知道,A,B,C,D都不为0;
第二,如果你有计算的话,就很容易发现其实就是求:A*C=B*D;
按这样改进:
#include<stdio.h>
 int main(void)
 {
     int a,b,c,d;
     for(a=1;a<10;a++)
         for(b=1;b<10;b++)
             for(c=1;c<10;c++)
             {
                 d=a*c/b;
                 if(a*c==b*d&&d<10)     
                { printf("%d%d*%d%d=%d%d*%d%d\t",a,b,c,d,b,a,d,c);
                  printf("\n");
                 }        
              }
 }
 

[ 本帖最后由 回首依依 于 2012-2-25 17:14 编辑 ]
2012-02-25 16:49
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
第六届信息技术应用水平大赛复赛的第一道题   

谁有兴趣做下第二道题   觉得自己做对了来这里测试
http://www.

删数问题
时间限制:1000 ms  |  内存限制:65535 KB
描述

           给出一个N位正整数(首位不为0),去掉其中S个数字后剩下的数字按左右次序组成一个新的N-S位正整数(首位不能为0)。对给定的N和S,寻找一种删数规则使得剩下得数字组成的新数最小。

输入
         第一行一个正整数T ,表示有T组测试数据。

        对于每组测试数据:第一行两个正整数 n ,s (s<  n <= 10, 000) (用空格隔开); 第二行为一个n 位正整数。

输出
         对于每组测试数据输出一行:最小的新数。

样例输入
2
10 2
1234334789
11 3
90019008798
样例输出
12333478
19008798

                                         
===========深入<----------------->浅出============
2012-02-26 12:41
xwbbcnyh
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-14
收藏
得分:0 
回复 2楼 回首依依
为什么不能为0   题目中没要求啊!
2012-07-14 22:35
xwbbcnyh
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-14
收藏
得分:0 
大家看这个算法简洁  答案不重复

#include <stdio.h>
main()
{
  int a=0,b=0,c=0,d=0;
      for(;a<=99;a++)
      {c=(a%10)*10+a/10;
      for(b=a;b<=99;b++)
      {d=(b%10)*10+b/10;
          if(a*b==c*d)printf("%d%d*%d%d\n",a/10,a%10,b/10,b%10);         
                      }
                      }
}
2012-07-14 22:40
小轩哥
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-2-15
收藏
得分:0 
回复 4楼 xwbbcnyh
说的好  而且还没说a,b,c,d不能相等
2013-02-15 13:32
快速回复:有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一个数字,试找出所有 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011989 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved