您的位置:首页 > 其它

YTU 2750: 猜算式

2016-02-01 21:29 351 查看


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\n",a*10+b,c*10+d,e*10+f,g*100+h*10+i);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: