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.路径 最短路径, 因为变化情况比较多, 所以开始想的是深搜, 但是太慢了, 跑不出来, 后来就想着优化一下, 有的地方到另一个地方可能会考虑很多遍, 于是考 ...
随机推荐
- Springboot2.x 拦截器
一,单个拦截器,实现接口 HandlerInterceptor @Component public class MyInterceptor1 implements HandlerIntercepto ...
- JDBC中 execute 与 executeUpdate的区别
相同点 execute与executeUpdate的相同点:都可以执行增加,删除,修改 不同点 execute可以执行查询语句 然后通过getResultSet,把结果集取出来 executeUpda ...
- os.environ() 说明
我们想要用Python获得一些有关系统的各种信息的时候就不得不想到os的environ,那这里面都具体包含了那些内容呢? 一.简介 对于官方的解释,environ是一个字符串所对应环境的映像对象.这是 ...
- Codeforces Round #223 (Div. 2) E. Sereja and Brackets 线段树区间合并
题目链接:http://codeforces.com/contest/381/problem/E E. Sereja and Brackets time limit per test 1 secon ...
- String中hashCode方法的线程安全
class String{ //默认值是0 int hash; public int hashCode() { //将成员变量hash缓存到局部变量 int h = hash; //这里使用的是局部变 ...
- TDD、BDD、DDD
TDDTest-Driven DevelopmentTest-Driven Development (TDD) is a software development technique where au ...
- DrawDibDraw__ZC测试
ZC: 先把 自己尝试成功的代码 记录下来,不要 弄没了之后 又忘了怎么弄... ZC: 代码 有点乱,没整理.没写 哪些是 原来MFC里面的 哪些是我自己写的,参考上一篇文章来看吧 1.VC6 的一 ...
- c++ primer plus 第七章 课后题答案
#include <iostream> using namespace std; double HAR_AVG(double, double); void TEST(bool); int ...
- 启动tomcat一闪而过问题调试并解决
之前一直用myelise+tomcat启动项目很正常,今天在尝试用绿色版tomcat8时,点击startup.bat文件时,一闪而过,tomcat未正常启动,也无法看到错误信息.搜索网络查找到调试方法 ...
- sublime插件安装及常用插件配置
1.下载 :百度云 工具中 2.注册 sgbteam Single User License EA7E-1153259 8891CBB9 F1513E4F 1A3405C1 A865D53F 115F ...