| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:有一道编程题,自己写了一个程序,求大神鉴定是否满足题意!~
只看楼主 加入收藏
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
结帖率:77.78%
收藏
已结贴  问题点数:5 回复次数:17 
有一道编程题,自己写了一个程序,求大神鉴定是否满足题意!~
  有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。
程序代码:
#include <stdio.h>

 void main()

 {
    int a,b,c,d,AB,CD,BA,DC;
    for (a=0;a<10;a++)
        for(b=0;b<10;b++)
            for(c=0;c<10;c++)
                for(d=0;d<10;d++)
                {
                    AB=a*10+b;
                    CD=c*10+d;
                    BA=b*10+a;
                    DC=d*10+c;
                    if(AB*CD==BA*DC)
                    {
                        printf("%d*%d=%d*%d\n",AB,CD,BA,DC);
                    }
               
                }

 }



[ 本帖最后由 weipeng1217 于 2012-9-16 20:43 编辑 ]
搜索更多相关主题的帖子: 编程 
2012-09-16 20:33
胡振杰
Rank: 2
等 级:论坛游民
帖 子:41
专家分:63
注 册:2012-9-14
收藏
得分:0 
AB*CD=BA*DC,这里是DC,为什么到下面变成了CD??
2012-09-16 20:39
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 2楼 胡振杰
抱歉,之前没仔细看,现在改过来了,这个方法满足题目要求么?

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-09-16 20:43
a7882669
Rank: 4
等 级:业余侠客
帖 子:192
专家分:290
注 册:2012-4-17
收藏
得分:0 
目测可以,但是 我想应该有更好的方法
2012-09-16 21:58
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:0 
给你想要的答案:
import java.util.Arrays;


public class count {
    public static void main(String[] args)
    {
        //AB * CD = BA * DC
        int[] AB = new int[81];
        int[] CD = new int[81];
        int i = 0;
        for(int a = 1; a <= 9; a++)
            for(int b = 1; b <= 9; b++)
            {
                AB[i++] = a * 10 + b;
            }
        CD = AB;
        for(int a: AB)
        {
            int m = a % 10 * 10 + a / 10;
            for(int b = 0; b < CD.length; b++)
            {
                int n = CD[b] % 10 * 10 + CD[b] / 10;
                if(a * CD[b] == m * n && a != m && a != n)
                    System.out.println(a + "*" + CD[b] + "==" + m + "*" + n );
            }
        }
    }

}
2012-09-16 22:22
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:0 
ab*cd=ba*dc
你用了10*10*10=1000的次数 太多了.
按照原理 只需要(9*10+9*10)*2=360次就可以了

(上述说法没经过论证,该死的组合和排序,可能是错的,我想说的是,楼主注意一下次数)

[ 本帖最后由 do8do8do8 于 2012-9-16 23:11 编辑 ]

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2012-09-16 23:08
xsxcw
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-16
收藏
得分:0 
回复 6楼 do8do8do8
虽然算法的确是这么说的,但是其实就这个程序而言,这么点循环好像不用怎么考虑!
2012-09-16 23:20
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:0 
回复 7楼 xsxcw
你说对了 其实只有10个式子而已它们是
00*00=00*00
11*11=11*11
..
99*99=99*99




.....算了 如果这样的话 ab*cd=ef*gh 那么就要10*10*10*10*10*10*10*10=?我看用纯循环做这个有点太烦琐 
要用点数据结构才显得是个程序

[ 本帖最后由 do8do8do8 于 2012-9-16 23:32 编辑 ]

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2012-09-16 23:27
aa25693592
Rank: 1
等 级:新手上路
帖 子:39
专家分:4
注 册:2012-9-13
收藏
得分:0 
木有必要那么多循环
2012-09-17 00:35
freecast
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2012-7-29
收藏
得分:0 
C语言板块,怎么还有Java的。
2012-09-17 09:34
快速回复:有一道编程题,自己写了一个程序,求大神鉴定是否满足题意!~
数据加载中...
 
   



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

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