03凑算式(数字填空)

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

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

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

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

//先给出答案:29
//有两种思路:1、暴力枚举(这里讲这个)  2、全排列(下次补上)
//注意啦:第一:浮点数注意事项。要不就使分子*1.0,然后abs(等式左边-等式右边)<1E-10;要不就左右两边通分,使分式运算化成整式运算。
//第二,关于“DEF”、"GHI"。这里DEF=D*100+E*10+F(而不是D*E*F,小心陷阱)
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int A, B, C, D, E, F, G, H, I;
    int count = 0;
    for (A = 1; A <= 9; A++)
    {
        for (B = 1; B <= 9; B++)
        {
            if (A == B)continue;
            for (C = 1; C <= 9; C++)
            {
                if (A == C || B == C)continue;
                for (D = 1; D <= 9; D++)
                {
                    if (A == D || B == D || C == D)continue;
                    for (E = 1; E <= 9; E++)
                    {
                        if (A == E || B == E || C == E || D == E)continue;
                        for (F = 1; F <= 9; F++)
                        {
                            if (A == F || B == F || C == F || D == F || E == F)continue;
                            for (G = 1; G <= 9; G++)
                            {
                                if (A == G || B == G || C == G || D == G || E == G || F == G)continue;
                                for (H = 1; H <= 9; H++)
                                {
                                    if (A == H || B == H || C == H || D == H || E == H || F == H || G == H)continue;
                                    for (I = 1; I <= 9; I++)
                                    {
                                        if (A == I || B == I || C == I || D == I || E == I || F == I || G == I || H == I)continue;
                                        int DEF = D * 100 + E * 10 + F;
                                        int GHI = G * 100 + H * 10 + I;
                                        if (abs(A + B*1.0 / C + DEF*1.0 / GHI-10)<1E-10)
                                        {
                                            count++;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    cout << count << endl;
}
时间: 2024-12-09 02:05:33

03凑算式(数字填空)的相关文章

3.凑算式

题目内容: 凑算式 B      DEFA + --- + ------- = 10     C      GHI     (如果显示有问题,可以参见[图1.jpg])          这个算式中A~I代表0~9的数字,不同的字母代表不同的数字. 比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法. 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字. //*******************************

6.凑算式

声明 可能本文章会有错误,希望各位读者看到后,记得回复留言,提醒我,以免误人子弟.本人菜鸡,还望各位大佬手下留情. 题目: 凑算式 B DEF A + --- + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字. 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法. 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字. 分

02生日蜡烛(数字填空)

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始过生日party的年龄数.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. //先给出答案:26 //注意:一般蓝桥杯的数字填空可以暴力枚举来求解 //思路:暴力枚举-->两个嵌套循环 #include<iostream> using namespace std; int main() { in

2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告

2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh童鞋的提醒. 勘误2:第7题在推断连通的时候条件写错了,后两个if条件中是应该是<=12 落了一个等于号.正确答案应为116. 1.煤球数目 有一堆煤球.堆成三角棱锥形.详细: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形). -. 假设一共

第七届蓝桥杯本科B组省赛

煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), -. 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 思路: 推出第i层有i*(i+1)/2个煤球,累加到100层即可,答案为171700 #include <bits/stdc++.h> using namespace std; int main() {

2016年 蓝桥杯省赛(Java)

煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 171700 public class Main { public static void main(String[] args) { int ans = 0; for(int i = 1; i <=

第七届蓝桥杯C/C++B组省赛题目解析

题目1:煤球数目 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字.注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 解析: 第一层:1个. 第二层:2*3-3=3个. 第三层:3*3-3=6个. 第四层:4*3-3=10个. 代码如下: int s=0,a=0; for(int i=1;i<=100;i++){ a=a+i;

第七届蓝桥杯C语言C组-(自己懂的题目)

第七届蓝桥杯C语言C组-(自己懂的题目) 表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结, 先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级... 第一题 报纸页数 X星球日报和我们地球的城市早报是一样的, 都是一些单独的纸张叠在一起而已.每张纸印有4版. 比如,某张报纸包含的4页是:5,6,11,12, 可以确定它应该是最上边的第2张报纸. 我们在太空中捡到了一张X星球的报纸,4个页码分别是: 1125,1126,1727,1728 请你计算这份报纸一共多少页(也就

2016年蓝桥杯C/C++B组

第一次参加蓝桥杯,也是有很多感触的,时间完全不够写最后一题... 最后一题没做...还有全排序很重要... 1. 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), -. 如果一共有100层,共有多少个煤球? 请填表示煤球总数目的数字. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. /*答案:171700*/ #include <iostream> #include &l