问题 3139 --张氏加密(程序填空)

3139: 张氏加密(程序填空)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 1212  解决: 857
[提交][状态][命题人:]

题目描述

有一行电文(中间没有空格),请你按照张氏加密法进行加密后输出。

张氏加密法规则如下:

1)先求得电文的长度,假设为n

2)再求出所有n的因子

3)如果因子所在位置上的字母为小写字母,则改为大写字母

如电文为:

ZhangYongLiangisaDoctor!

电文长度为24,则因子有1,2,3,4,6,8,12,24

所以加密后的电文为

ZHANgYoNgLiAngisaDoctor!

#include <cstdio> 
#include <cstring>
using namespace std;
char st[100];
int main()
{
    scanf("%s",st);
    _____(1)________ 
    for(int i=1;i<=n;i++)
    {
        if(n%i==0)
        {
            char c=st[i-1];
            if(_____(2)_______)
                st[i-1]=c-'a'+'A';  
        }
    }
    printf("%s",st);
    return 0;
}

输入

一行电文

输出

加密后的电文
样例输入
Copy
ZhangYongLiangisaDoctor!
样例输出
Copy
ZHANgYoNgLiAngisaDoctor!

提示

来源

[提交][状态]