YTU OJ 2994: 凑算式 (蓝桥杯题目)

来源:互联网 发布:php时间戳精确到毫秒 编辑:程序博客网 时间:2024/06/07 08:37

Description

       B      DEF
A + --- + ------- = 10
       C      GHI

这个算式中A~I代表0~9的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

问:这个算式一共有多少种解法?

Input

Output

输出能使这个算式成立的解法数量。

HINT

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。


代码:

#include <stdio.h>#include <iostream>using namespace std;int main(){    int a,b,c,d,e,f,g,h,i;    int j=0;    for(a=0; a<=9; a++)        for(b=0; b<=9; b++)            for(c=1; c<=9; c++)                for(d=0; d<=9; d++)                    for(e=0; e<=9; e++)                        for(f=0; f<=9; f++)                            for(g=0; g<=9; g++)                                for(h=0; h<=9; h++)                                    for(i=0; i<=9; i++)                                    {                                        if(g!=0&&h!=0&&i!=0)                                        {                                            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&&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)                                            {                                                if(a+b*1.0/c+(d*100+e*10+f*1.0)/(g*100+h*10+i*1.0)==10)                                                    j++;                                            }                                        }                                    }    printf("%d",j);    return 0;}
注意:此题为蓝桥杯改编题目,原题中不可取0,此题可取因此答案会有所增加,还应注意的是两个整数相除得到的还是整数,所以要把其中一个整数先乘以 1.0 转化成浮点数。

原创粉丝点击