三羊献瑞——第六届蓝桥杯C语言B组(省赛)第三题
原创
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
分析:三羊生瑞气这个数中三只能是数码1,所以其他7个数字不必考虑是1
法一(枚举):
枚举祥、瑞、生、辉、羊、献、气这7个字,然后判断是否满足等式即可。
public class 三羊献瑞 {
public static void main(String args[]) {
int tt=0;
int arr[]=new int[7];
for(arr[0]=2;arr[0]<=9;arr[0]++) { //祥
for(arr[1]=0;arr[1]<=9;arr[1]++) { //瑞
if(arr[1]==1) {
continue;
}
for(arr[2]=0;arr[2]<=9;arr[2]++) { //生
if(arr[2]==1) {
continue;
}
for(arr[3]=0;arr[3]<=9;arr[3]++) { //辉
if(arr[3]==1) {
continue;
}
for(arr[4]=0;arr[4]<=9;arr[4]++) { //羊
if(arr[4]==1) {
continue;
}
for(arr[5]=0;arr[5]<=9;arr[5]++) { //献
if(arr[5]==1) {
continue;
}
for(arr[6]=0;arr[6]<=9;arr[6]++) { //气
if(arr[6]==1) {
continue;
}
int flag[]= {0,0,0,0,0,0,0,0,0,0};
int i=0;
int ff=0;
for(i=0;i<=6;i++) { //判断是否包含相同的数码
if(flag[arr[i]]==1) {
ff=1;
break;
}
flag[arr[i]]=1;
}
if(ff==1) { //有相同数码
continue;
}
if((arr[0]*1000+arr[1]*100+arr[2]*10+arr[3])+(1000+arr[4]*100+arr[5]*10+arr[1])==10000+arr[4]*1000+arr[2]*100+arr[1]*10+arr[6]) {
System.out.println(1000+arr[4]*100+arr[5]*10+arr[1]);
tt=1;
}
if(tt==1) {
break;
}
}
if(tt==1) {
break;
}
}
if(tt==1) {
break;
}
}
if(tt==1) {
break;
}
}
if(tt==1) {
break;
}
}
if(tt==1) {
break;
}
}
if(tt==1) {
break;
}
}
}
}
法二(全排列):
全排列思想看我另外一篇博客:https://www.cnblogs.com/chiweiming/p/8727164.html
对0、2、3、4、5、6、7、8、9这8个数码进行全排列,每产生一种全排列就将全排列前7
位数取出进行运算,满足条件算式输出即可。
public class 三羊献瑞{
static int flag=0;
static int arr[]= {0,2,3,4,5,6,7,8,9};
static void Swap(int a,int b) {
int temp=0;
temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
static void Quan(int num) {
if(num==8) { //产生一种全排列
if((arr[0]*1000+arr[1]*100+arr[2]*10+arr[3])+(1000+arr[4]*100+arr[5]*10+arr[1])==10000+arr[4]*1000+arr[2]*100+arr[1]*10+arr[6]) {
System.out.println(1000+arr[4]*100+arr[5]*10+arr[1]);
flag=1;
}
return;
}
int i=0;
for(i=num;i<=8;i++) {
Swap(i,num);
Quan(num+1);
if(flag==1) {
return;
}
Swap(i,num);
}
}
public static void main(String args[]) {
Quan(0);
}
}
答案:1085
22:07:35
2018-06-08
三羊献瑞——第六届蓝桥杯C语言B组(省赛)第三题的更多相关文章
- 2015年第六届蓝桥杯C/C++B组省赛题目解析
一.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其中 ...
- 加法变乘法——第六届蓝桥杯C语言B组(省赛)第六题
原创 加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如:1+2+3+...+10*11+12+...+27*28+ ...
- 移动距离——第六届蓝桥杯C语言B组(省赛)第八题
原创 问题描述: 移动距离 X星球居民小区的楼房全是一样的,并且按矩阵样式排列.其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号.比如:当小区排号宽度为6时,开始情形如下: ...
- 牌型总数——第六届蓝桥杯C语言B组(省赛)第七题
原创 牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌.一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张.这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得 ...
- 积分之谜——第六届蓝桥杯C语言B组(国赛)第一题
原创 标题:积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:3 ...
- 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告
2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...
- 2015第六届蓝桥杯C/C++ B组
奖券数目:枚举 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利.虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求.某抽奖活动的奖券号码是5位数(10000-99999),要求其 ...
- 递增三元数组——第九届蓝桥杯C语言B组(省赛)第六题
原创 标题:递增三元组 给定三个整数数组A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN],请你统计有多少个三元组(i, ...
- 乘积尾零——第九届蓝桥杯C语言B组(省赛)第三题
原创 标题:乘积尾零 如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零? 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7 ...
随机推荐
- 归并排序的JavaScript实现
思想 这是一种分治算法.将原始数组切分成较小的数组,直到每个小数组只有一项,然后在将小数组归并为排好序的较大数组,直到最后得到一个排好序的最大数组. 代码 function mergeSort(arr ...
- MFC命令消息的路由
下面,我们以Menu这个程序为例,来看看 菜单命令消息路由的具体过程:当单击某个菜单项时,最先接收到这个菜单命令消息的是框架类.框架类将把接收到的这个消息交给它的子窗口.即视类,由视类首先进行处理.视 ...
- mysql concat的使用
想要在一个id前都加个0,如果处理呢? mysql concat的使用 update `a_data` set id=CONCAT('0', id) where data_packet_id in ( ...
- FPGA前世今生(二)
上期我们介绍了关于FPGA内部最基本的结构,在quartus下可以看到整体的结构. 这是在平面规划图下看到的结构,其中蓝色的小格代表一个LAB.四周边上浅棕色的小格代表IO口. 这是一个LAB的内部结 ...
- java随机数组
import java.util.Random; public class Ccore { public static void main(String[] args) { for(int i=1;i ...
- Invalid byte tag in constant pool: 19
环境: windows 2008 server R2 ; tomcat 8.5.3 ; jdk-1.8.0_91 故障截图: 报的就是 Invalid byte tag in constant ...
- tomcat启动时的java_home和jre_home错误
The JRE_HOME environment variable is not defined correctlyThis environment variable is needed to run ...
- 升级python到2.7
wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz tar zxvf Python-.tgz cd Python- ./configure ...
- 2014.8.27 CAD数据结构
Rwy表中存放所有物理跑道,主键rwy_id,但没有跑道中心点坐标 rwy_direction表中存放所有所有逻辑跑道号,也没有跑道入口坐标.同一rwy_id对应有2条记录 rwy_cline_poi ...
- keil:C语言里面调用汇编程序
C语言直观,汇编效率高,C里面嵌入汇编是很好的选择. 路径大概如图: mian.c是我的C语言程序,Func.s是汇编程序. 主要是Init_1这个函数的实现在汇编文件里面,使用汇编实现的. 首先在C ...