一道密码题 由明文推密文……
并没有什么算法
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char s[100010];
char p[100010];
int main()
{
int t,k;
int len,yu,ci;
int count;
scanf("%d",&t);
getchar();
for(int a=1;a<=t;++a)
{
count=0;
gets(s);
scanf("%d",&k);
getchar();
len=strlen(s);
yu=len%k;
ci=len/k;
for(int i=0;i<yu;++i)
for(int j=0;j<=ci;++j)
p[j*k+i]=s[count++];
for(int i=yu;i<k;++i)
for(int j=0;j<ci;++j)
p[j*k+i]=s[count++];
printf("Case #%d:\n",a);
for(int i=0;i<count;++i)
printf("%c",p[i]);
printf("\n");
}
return 0;
}
本文介绍了一种简单的密码转换算法,该算法将明文转换为密文。通过特定步骤重新排列字符的位置来实现加密效果。具体过程包括读取输入字符串和整数k,然后按照k进行分组并重新排序。

被折叠的 条评论
为什么被折叠?



