• YTU 2750: 猜算式


    2750: 猜算式

    时间限制: 1 Sec  内存限制: 128 MB  Special Judge
    提交: 22  解决: 1

    题目描述

    看下面的算式:

    □□ x □□ = □□ x □□□

    它表示:两个两位数相乘等于一个两位数乘以一个三位数。

    如果没有限定条件,这样的例子很多。

    但目前的限定是:这9个方块,表示1~9的9个数字,不包含0。
    该算式中1至9的每个数字出现且只出现一次!

    比如:
    46 x 79 = 23 x 158
    54 x 69 = 27 x 138
    54 x 93 = 27 x 186
    .....

    请编程,输出所有可能的情况!

    注意:左边的两个乘数交换算同一方案,不要重复输出!

    输入

    输出

    提示

    乘号用小写字母"x”表示

    你  离  开  了  ,  我  的  世  界  里  只  剩  下  雨  。  。  。

    #include <stdio.h>
    int main()
    {
        for(int a=1; a<=9; a++)
            for(int b=1; b<=9; b++)
                for(int c=1; c<=9; c++)
                    for(int d=1; d<=9; d++)
                        for(int e=1; e<=9; e++)
                            for(int f=1; f<=9; f++)
                                for(int g=1; g<=9; g++)
                                    for(int h=1; h<=9; h++)
                                        for(int i=1; i<=9; i++)
                                        {
                                            if(a==b||a==c||a==d||a==e||a==f||a==g||a==h||a==i||b==c||b==d||b==e||b==f||b==g||b==h||b==i)continue;
                                            else if(c==d||c==e||c==f||c==g||c==h||c==i||d==e||d==f||d==g||d==h||d==i||e==f||e==g||e==h||e==i||f==g||f==h||f==i||g==h||g==i||h==i)continue;
                                            if((a*10+b)*(c*10+d)==(e*10+f)*(g*100+h*10+i))printf("%d x %d = %d x %d
    ",a*10+b,c*10+d,e*10+f,g*100+h*10+i);
                                        }
        return 0;
    }
    


  • 相关阅读:
    为什么编程是独一无二的职业
    TSQL 编程规范
    Windows实战Git环境配置msysGit+TortoiseGit
    Linux环境下Socket编程
    数据持久化
    Javascript类的定义和引用
    详解C中volatile关键字
    ACM HDU 1040 As Easy As A+B
    ACM POJ 1753Flip Game
    ACM HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989564.html
Copyright © 2020-2023  润新知