zoukankan      html  css  js  c++  java
  • 火柴棍等式

    现手中有m(m<=24)个火柴棍,希望拼出A+B=C等式。等式中的A、B、C均为火柴棍拼出来的整数(若该数非0,则最高位不能为0)。

    注意:
    1、加号与等号各自需要2根火柴棍;

    2、如果A不等于B,则A+B=C与B+A=C视为不同的等式(三者均大于0);

    3、所有根火柴棍必须全都用上。

    #include<stdio.h>
    int fun(int x)//测试每个数字由多少个火柴拼成//
    {
        int num=0;
        int f[10]={6,2,5,5,4,5,6,3,7,6};//构造数表,直接从中查询//
        while(x/10!=0)//用while循环,逐位判断,不能用if//
        {
            num=num+f[x%10];
            x=x/10;
        }
        num=num+f[x];
        return num;
    }
    int main()
    {
        int a,b,c,n;
        int sum=0;
        scanf("%d",&n);
        for(a=0;a<1111;a++)//十个数包含零//
        {
            for(b=0;b<1111;b++)
            {
                c=a+b;//c直接由a,b表示出//
                if(fun(a)+fun(b)+fun(c)==n-4)
                {
                    printf("%d+%d=%d
    ",a,b,c);
                    sum++;
                }
            }
        }
        printf("一共可以拼出%d个不等式
    ",sum);
    }
    

      

  • 相关阅读:
    数组去重
    css盒模型
    px、em、rem的区别
    Html5新标签
    弹性布局
    相对定位与绝对定位
    Hadoop综合大作业
    分布式文件系统HDFS 练习
    安装Hadoop
    爬虫综合大作业
  • 原文地址:https://www.cnblogs.com/mjn1/p/9121133.html
Copyright © 2011-2022 走看看