蓝桥杯三羊献瑞题目
今天开始做了做蓝桥杯的题目,题目是三羊献瑞,这道题目开始做,一点思路都没有,但是硬着头皮写下去,用循环暴力求,java都运行了好久,好几10秒,所以在蓝桥杯上估计是超时了。运行出了几个答案,再进行,排除,终于找到了唯一的一个答案。首先,我们来看一下题目。
1.题目描述
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
(如果有对齐问题,可以参看【图1.jpg】)
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
2.输入:
无
3.输出
1085
4.算法思想:
三 a
羊 b
生 c
瑞 d
气 e
祥 f
辉 g
献 h
fdcg
+ abhd
-----
abcde
得到这样的算式,然后,用暴力循环
5.代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /* add1 = 9567, add2 = 1085, add3 = 10652 */ public class Test05 { public static void main(String[] args) { int add1 = 0 ; int add2 = 0 ; for (add1= 9200 ;add1< 9800 ;add1++){ for (add2= 1000 ;add2< 1300 ;add2++){ int [] f1 = f(add1); int [] f2 = f(add2); int [] f3 = f(add1+add2); if (!isReapead(add1) && !isReapead(add2) && !isReapead(add1+add2) && f1[ 1 ]==f2[ 3 ] && f3[ 0 ]==f2[ 0 ] && f3[ 1 ]==f2[ 1 ] && f3[ 2 ]==f1[ 2 ] && f3[ 3 ]==f2[ 3 ]){ System.out.println( "add1 = " + add1 + ", add2 = " + add2 + ", add3 = " + (add1+add2)); } } } } private static boolean isReapead( int shu) { int [] f = f(shu); int flag = 0 ; for ( int i= 0 ;i<f.length- 1 ;i++){ for ( int j=i+ 1 ;j<f.length;j++){ if (f[j]==f[i]){ flag = 1 ; } } } if (flag == 1 ){ return true ; } else { return false ; } } private static int [] f( int shu) { String valueOf = String.valueOf(shu); char [] charArray = valueOf.toCharArray(); int temp[] = new int [charArray.length]; for ( int i= 0 ;i<temp.length;i++){ temp[i] = charArray[i] - '0' ; } return temp; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)