注册 登录
编程论坛 C++教室

水题竞答第一期

return_0 发布于 2020-02-26 17:07, 2921 次点击
水题竞答小游戏》》》规则:共3题,分3回合,每回合7分,回合中首先答对者得分。
第一题:
情报加密
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加
密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被
轻易的识别。
我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-ya−y,A-YA−Y的字母用其后继字母替代,把zz和ZZ用aa和AA替代,其他非字母字符不变,则可得到一个简单的加密字符串。
现给你一段待加密信息,请你为其进行加密。
输入格式
输入一行,包含一个情报字符串。
输出格式
输出该情报字符串的加密字符串。
数据范围
字符串长度小于等于80。

第二题:
回文平方数
回文数是指从两侧看完全对称的数字,如121121和13311331都是回文数。
给定nn,请求出11到nn之间,所有本身是回文,且它的平方也是回文的数字。
输入格式
单个整数:表示数字nn
输出格式
若干行:表示所有满足条件的回文数和它的平方,用空格隔开
数据范围
1≤nn≤10000

第三题:
数根
数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。
比如,对于2424来说,把22和44相加得到66,由于66是一位数,因此66是2424的数根。再比如3939,把33和99加起来得到1212,由于1212不是一位数,因此还得把11和22加起来,最后得到33,这是一个一位数,因此33是3939的数根。
输入格式
第一行:一个正整数,表示待求的数字nn
输出格式
仅一行:一个数字,即输入数字的数根
数据范围
1≤nn≤10^9
16 回复
#2
return_02020-02-26 17:09
第一回合正式开始,我今天不把可用分玩玩我不罢休!
#3
return_02020-02-26 17:12
离第一回合结束还有20分钟!
#4
return_02020-02-26 17:13
#5
return_02020-02-26 17:30
还剩3分钟
#6
return_02020-02-26 17:32
还剩1分钟
#7
return_02020-02-26 17:33
因为大家都没回复,所以第一回合拖延10分钟。
#8
return_02020-02-26 17:42
继续拖延10分钟
#9
return_02020-02-26 17:52
继续拖延10分钟
#10
return_02020-02-26 17:53
因为拖延过长,我们直接跳到第二回合还剩30分钟
#11
return_02020-02-26 17:53
要做第一道题的到时候跟我说
#12
return_02020-02-29 18:17
我终止悬赏了,额
#13
奥利给啊咯个2020-03-04 13:18
#14
佩奇2020-03-04 17:01
为什么没人回答啊
#15
return_02020-03-04 18:55
不知道
#16
return_02020-03-04 18:56
反正分收回来了
#17
lin51616782020-03-13 01:16
第一题
程序代码:

#include <stdio.h>
int main(int argc, char *argv[])
{
    char str[0x7F];
    for(int i=0; i<0x7F; ++i)
        str[i] = i;
    for(int i='a'; i<'z'; ++i)
    {
        str[i] = i+1;
        str[i^0x20] = i^0x20+1;        
    }
    str['z'] = 'a';
    str['Z'] = 'A';
    while(putchar(str[getchar()]) != '\n')
        ;
    return 0;
}
1