2015年蓝桥杯省赛B组第3题--三羊献瑞
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h> int a[10],b[10],c[10];
void aa(int n)
{
int i=0;
while(n>0){
a[i++]=n%10;
n/=10;
}
}
void bb(int n)
{
int i=0;
while(n>0){
b[i++]=n%10;
n/=10;
}
}
int cc(int n)
{
int i=0;
while(n>0){
c[i++]=n%10;
n/=10;
}
if(i!=5)
return 0;
else
return 1;
}
int a1()
{
int i,j;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
if(i!=j&&j<4&&a[i]==a[j])
return 0;
if(i!=2||j!=0){
if(j<4&&a[i]==b[j])
return 0;
}
if(i==0||i==3){
if(j!=1&&j!=2){
if(a[i]==c[j])
return 0;
}
}
}
}
return 1;
}
int bb()
{
int i,j;
for(i=0;i<4;i++){
for(j=0;j<5;j++){
if(j>i&&j<4&&b[i]==b[j])
return 0;
if(i==1&&b[i]==c[j])
return 0;
}
}
return 1;
}
int c1()
{
int i,j;
for(i=0;i<5;i++){
for(j=i+1;j<5;j++){
if(c[i]==c[j])
return 0;
}
}
}
int main ()
{
int i,j;
for(i=1000;i<=9999;i++){
for(j=1000;j<=9999;j++){
memset(c,0,sizeof(c)); if(cc(i+j)){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
aa(i);
bb(j);
if(b[3]==c[4]&&b[2]==c[3]&&a[1]==c[2]&&a[2]==c[1]&&b[0]==a[2]&&a1()&&bb()&&c1()){
printf(" %d\n",i);
printf("+%d\n",j);
printf("-----------\n");
printf("%d\n\n",i+j); }
}else{ } }
}
return 0;
}
最后答案为:1085
代码运行结果如下:
2015年蓝桥杯省赛B组第3题--三羊献瑞的更多相关文章
- 2015年蓝桥杯省赛A组c++第5题(回溯算法填空)
/* 1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码. */ #include <stdio.h> void tes ...
- 2015年蓝桥杯省赛A组c++第8题(迭代法)
/* 乐羊羊饮料厂正在举办一次促销优惠活动.乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料, 并且可以一直循环下去(但不允许暂借或赊账). 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于 ...
- 2015年蓝桥杯省赛A组c++第4题
/* StringInGrid函数会在一个指定大小的格子中打印指定的字符串. 要求字符串在水平.垂直两个方向上都居中. 如果字符串太长,就截断. 如果不能恰好居中,可以稍稍偏左或者偏上一点. 下面的程 ...
- 2015年蓝桥杯省赛A组c++第3题
/* 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次. 你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容. */ #include<cstdi ...
- 2015年蓝桥杯省赛A组c++第1题
/* 方程: a^2 + b^2 + c^2 = 1000 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解. 你能算出另一组合适的解吗? 请填写该解中最小的数字. 注意:你提交的应该是一 ...
- 第七届蓝桥杯省赛javaB组 第七题剪邮票
剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连)比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是合格的 ...
- 第七届蓝桥杯省赛JavaB组——第十题压缩变换
题目: 压缩变换小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战.最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面 ...
- 52-2018 蓝桥杯省赛 B 组模拟赛(一)java
最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 313133131 ...
- 2021蓝桥杯省赛B组(C/C++)E.路径【最短路DP】
2021蓝桥杯省赛B组题目(C/C++)E.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...
随机推荐
- linux指定某用户某组挂载外接硬盘以便操作硬盘
一.环境:发行版本:ubuntu 14.04 64bit 二.获取要指定的用户及组id 使用id命令 (笔者获取的uid和gid都为1000) 三.获取识别的硬盘路径 sudo fdisk -l ( ...
- HDU 4734 (数位DP)题解
思路: dp[pos][pre]代表长度为pos的不大于pre的个数 #include<iostream> #include<cstdio> #include<cstri ...
- ISSCC 2017论文导读 Session 14:A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Pro
A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Processor and a CIS Integrate ...
- BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
题目: 给定一个大小为 N×M 的迷宫.迷宫由通道和墙壁组成,每一步可以向邻接的上下左右四格 的通道移动.请求出从起点到终点所需的最小步数.请注意,本题假定从起点一定可以移动 到终点. 限制条件;N, ...
- Cocos2d-x学习笔记(四) HelloWorld场景类
类定义原型如下: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" ...
- http post发送请求
一: 用java自带URL发送 public synchronized JSONObject getJSON(String url2, String param) { try { URL url = ...
- nginx 跨域解决
server { listen 8811 default_server; root /opt/bp; # Make site accessible from http://localhost/ ser ...
- URAL 1501 Sense of Beauty
URAL 1501 思路: dp+记忆化搜索 状态:dp[i][j]表示选取第一堆前i个和第二堆前j的状态:0:0多1个 1:0和1相等 2:1 ...
- Codeforces 534B - Covered Path
534B - Covered Path 思路:贪心,每一秒取尽可能大并且可以达到的速度. 画张图吧,不解释了: 代码: #include<bits/stdc++.h> using name ...
- angular5 路由变化监听
1.路由监听 //监听路由变化this.router.events .filter(event => event instanceof NavigationEnd) .map(() => ...