天天看点

OJ 2572: 猜灯谜(蓝桥杯)

Description

 A 村的元宵节灯会上有一迷题:

        请猜谜 * 请猜谜 = 请边赏灯边猜

小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字。 

请你帮小明把所有的可能的数都找出来吧。

Input

没有输入

Output

提交请猜谜所代表的3位的整数。

Sample Input

没有示例      

HINT

只提交3位的整数,不要写其它附加内容,比如:说明性的文字。

如果有多个输出结果,请用采用多行输出的方式。

Source

2013蓝桥杯本科B组C-C++决赛题.

代码:

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    int a,b,c,i,x,y,d,e,f,g;
    for(i=100; i<=999; i++)
    {
        c=i%10;
        b=i/10%10;
        a=i/100;
        x =(a*100+b*10+c)*(a*100+b*10+c);
        d=x/10%10;
        e=x/100%10;
        f=x/1000%10;
        g=x/10000%10;
        if(x%10==b&&x/100000==a&&d==g&&d!=a&&d!=b&&d!=c&&d!=e&&d!=f&&e!=a&&e!=b&&e!=c&&e!=f&&f!=a&&f!=b&&f!=c)
        {
            y=a*100+b*10+c;
            printf("%d\n",y);
        }
    }
    return 0;
}
           

要考虑数字相同的情况,还要考虑数字不同的情况,如“边”和“边”是相同数字,“边”和“赏”不是相同数字。

继续阅读