编译环境:dev c++
3.古堡算式
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。
#include #define max 100000 using namespace std; int judge(int n,int m){ } int main() { } 4. 巧排扑克牌 小明刚上小学,学会了第一个扑克牌“魔术”,到处给人表演。魔术的内容是这样的: 他手里握着一叠扑克牌:A,2,....J,Q,K 一共13张。他先自己精心设计它们的顺序,然后正面朝下拿着,开始表演。 只见他先从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是A;然后再从最下面拿一张放到最上面,再从最下面拿一张翻开放桌子上,是2;......如此循环直到手中只有一张牌,翻开放桌子上,刚好是K。 这时,桌上牌的顺序是:A,2,3,4,5,6,7,8,9,10,J,Q,K 请你计算一下,小明最开始的时候手里牌的顺序是怎样的。 把结果写出来,逗号分割,小明“魔术”开始时,最下面的那张牌输出为第一个数据。 //第四题 巧排扑克牌 #include using namespace std; int operate(char *seq,char card,int len) { } int print(char *s,int len) { } int main() { } 8. 手机尾号 年的改革开放,给中国带来了翻天覆地的变化。2011全年中国手机产量约为11.72亿部。手机已经成为百姓的基本日用品! 给手机选个好听又好记的号码可能是许多人的心愿。但号源有限,只能辅以有偿选号的方法了。 这个程序的目的就是:根据给定的手机尾号(4位),按照一定的规则来打分。其规则如下: 如果出现连号,不管升序还是降序,都加5分。例如:5678,4321都满足加分标准。 前三个数字相同,或后三个数字相同,都加3分。例如:4888,6665,7777都满足加分的标准。注意:7777因为满足这条标准两次,所以这条规则给它加了6分。 符合AABB或者ABAB模式的加1分。例如:2255,3939,7777都符合这个模式,所以都被加分。注意:7777因为满足这条标准两次,所以这条标准给它加了2分。 含有:6,8,9中任何一个数字,每出现一次加1分。例如4326,6875,9918都符合加分标准。其中,6875被加2分;9918被加3分。 尾号最终得分就是每条标准的加分总和! 要求程序从标准输入接收数据,在标准输出上输出结果。 输入格式为:第一行是一个整数n(<100),表示下边有多少输入行,接下来是n行4位一组的数据,就是等待计算加分的手机尾号。 输出格式为:n行整数。 例如,输入: 14 3045 0211 2345 6543 7777 8888 7878 7788 6688 2424 2244 9918 67 8866 则输出: 0 0 5 6 8 12 3 3 5 1 1 3 8 5 #include #include using namespace std; int rule1(char *num) { } int rule2(char *num) { } int rule3(char *num) { } int rule4(char *num) { } int main() { 手机号码.txt"); loop: } 9. 罗马数字 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念! 罗马数字的表示主要依赖以下几个基本符号: 这里,我们只介绍一下1000以内的数字的表示法。 单个符号重复多少次,就表示多少倍。最多重复3次。比如:CCC表示300 XX表示20,但150并不用LLL表示,这个规则仅适用于I X C M。 如果相邻级别的大单位在右,小单位在左,表示大单位中扣除小单位。比如:IX表示9 IV表示4 XL表示40 更多的示例参见下表,你找到规律了吗? I,1 II,2 III,3 IV,4 V,5 VI,6 VII,7 VIII,8 IX,9 X,10 XI,11 XII,12 XIII,13 XIV,14 XV,15 XVI,16 XVII,17 XVIII,18 XIX,19 XX,20 XXI,21 XXII,22 XXIX,29 XXX,30 XXXIV,34 XXXV,35 XXXIX,39 XL,40 L,50 LI,51 LV,55 LX,60 LXV,65 LXXX,80 XC,90 XCIII,93 XCV,95 XCVIII,98 XCIX,99 C,100 CC,200 CCC,300 CD,400 D,500 DC,600 DCC,700 DCCC,800 CM,900 CMXCIX,999 本题目的要求是:请编写程序,由用户输入若干个罗马数字串,程序输出对应的十进制表示。 输入格式是:第一行是整数n,表示接下来有n个罗马数字(n<100)。以后每行一个罗马数字。罗马数字大小不超过999。 要求程序输出n行,就是罗马数字对应的十进制数据。 例如,用户输入: 3 LXXX XCIII DCCII 则程序应该输出: 80 93 702 //第九题 罗马数字 //#include #include #include using namespace std; int RomeNum(char r) { } int main() { }