编程题:8003 撬锁者
===高科技简报,2002年11月2日06:42 CST ===
“这些物品被锁在克莱恩保险箱里,这个箱子藏在二楼图书馆的一副画背后,得以幸存下来。这种克莱恩保险箱极为罕见的,其中大部分在二战时随着克莱恩和他的工厂被摧毁了。幸运的是,老Brumbaugh从研究中知道克莱恩的秘密,并在去世之前写了下来。克莱恩锁有两个显着特点:它是种组合锁,并且使用字母代替数字,牢牢地刻在门上。总是包含5个到12个不同的大写字母,通常在开头的句子里提到了一个或多个数字。这些大写字母中的5个字母构成的组合便是解锁密码。你选择其中的五个英文字母V,W,X,Y和Z要求满足以下方程,用每个字母在字母表中的顺序位置(A = 1,B = 2 ,...,Z = 26)来代替,如果有一个以上的解决方案,则选字典序中最大的,即在字典中的最后一个会出现。
V - W ^ 2 + X ^ 3 - Y ^ 4 + Z ^ 5 =目标数字
例如,给定的目标1和字母集ABCDEFGHIJKL,一个可能的解决方案是FIECB,因为6 - 9 ^ 2 + 5 ^ 3 - 3 ^ 4 + 2 ^ 5 = 1,在这种情况下,实际上有几个解决方案,最终应该是LKEBA。克莱恩认为它是安全的组合密码,即使你知道这种解锁方法,尝试所有的可能性也会需要几个月的努力。因为在当时计算机并不存在。
### 输入格式:
===高科技指令,电脑事业部,2002年11月2日12:30 CST ===
要求编程用来找出克莱恩的组合密码。输入包括多组测试数据,每组占一行,每行由一个小于1200万的目标整数构成,空格和至少5个至多12个不同的大写字母构成。以“0 END”表示输入结束。
### 输出格式:
对于每组测试数据,要求输出克莱恩组合密码,如果没有找到正确的组合,输出“no solution”。
### 输入样例:
in
1 ABCDEFGHIJKL
11700519 ZAYEXIWOVU
3072997 SOUGHT
1234567 THEQUICKFROG
0 END
### 输出样例:
out
LKEBA
YOXUZ
GHOST
no solution
答案:若无答案欢迎评论
“这些物品被锁在克莱恩保险箱里,这个箱子藏在二楼图书馆的一副画背后,得以幸存下来。这种克莱恩保险箱极为罕见的,其中大部分在二战时随着克莱恩和他的工厂被摧毁了。幸运的是,老Brumbaugh从研究中知道克莱恩的秘密,并在去世之前写了下来。克莱恩锁有两个显着特点:它是种组合锁,并且使用字母代替数字,牢牢地刻在门上。总是包含5个到12个不同的大写字母,通常在开头的句子里提到了一个或多个数字。这些大写字母中的5个字母构成的组合便是解锁密码。你选择其中的五个英文字母V,W,X,Y和Z要求满足以下方程,用每个字母在字母表中的顺序位置(A = 1,B = 2 ,...,Z = 26)来代替,如果有一个以上的解决方案,则选字典序中最大的,即在字典中的最后一个会出现。
V - W ^ 2 + X ^ 3 - Y ^ 4 + Z ^ 5 =目标数字
例如,给定的目标1和字母集ABCDEFGHIJKL,一个可能的解决方案是FIECB,因为6 - 9 ^ 2 + 5 ^ 3 - 3 ^ 4 + 2 ^ 5 = 1,在这种情况下,实际上有几个解决方案,最终应该是LKEBA。克莱恩认为它是安全的组合密码,即使你知道这种解锁方法,尝试所有的可能性也会需要几个月的努力。因为在当时计算机并不存在。
### 输入格式:
===高科技指令,电脑事业部,2002年11月2日12:30 CST ===
要求编程用来找出克莱恩的组合密码。输入包括多组测试数据,每组占一行,每行由一个小于1200万的目标整数构成,空格和至少5个至多12个不同的大写字母构成。以“0 END”表示输入结束。
### 输出格式:
对于每组测试数据,要求输出克莱恩组合密码,如果没有找到正确的组合,输出“no solution”。
### 输入样例:
in
1 ABCDEFGHIJKL
11700519 ZAYEXIWOVU
3072997 SOUGHT
1234567 THEQUICKFROG
0 END
### 输出样例:
out
LKEBA
YOXUZ
GHOST
no solution
答案:若无答案欢迎评论