加密器
#include<bits/stdc++.h>
#define rd(a,b) rand()%((b)-(a)+1)+(a)
using namespace std;
int main(){
string a;
srand(time(0));
getline(cin,a,'.');
int i,n=a.size(),k=rd(1,25),m;
for(i=0;i<n;i++){
if(a[i]>='a'&&a[i]<='z'){
m=a[i]+k;
if(m>'z') a[i]='a'+m-'z'-1;
else a[i]=a[i]+k;
}
else if(a[i]>='A'&&a[i]<='Z'){
m=a[i]+k;
if(m>'Z') a[i]='A'+m-'Z'-1;
else a[i]=a[i]+k;
}
else if(a[i]>='0'&&a[i]<='9'){
a[i]='0'+(a[i]-48+k)%10;
}
}
cout<<a<<'.'<<k;
return 0;
}//1.7
解密器
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
int i,n,k,m;
getline(cin,a,'.');n=a.size();
scanf("%d",&k);
for(i=0;i<n;i++){
if(a[i]>='a'&&a[i]<='z'){
m=a[i]-k;
if(m<'a') a[i]='z'-'a'+m+1;
else a[i]-=k;
}
else if(a[i]>='A'&&a[i]<='Z'){
m=a[i]-k;
if(m<'A') a[i]='Z'-'A'+m+1;
else a[i]-=k;
}
else if(a[i]<='9'&&a[i]>='0'){
a[i]='0'+(30+a[i]-48-k)%10;
}
}
cout<<a<<'.';
return 0;
}//1.7
加密器(栅栏)
#include<bits/stdc++.h>
using namespace std;
int main(){
string a,tmp[128]={};
int n,m,i;
getline(cin,a,'.'),n=a.size();cin>>m;
for(i=0;i<n;i++){
tmp[i%m]+=a[i];
}
for(i=0;i<m;i++){
cout<<tmp[i];
}
cout<<'.'<<m;
return 0;
}//1.2
解密器(栅栏)
#include<bits/stdc++.h>
using namespace std;
int main(){
string a,tmp[128]={};
int n,m,i,j,t,t1=0;
getline(cin,a,'.'),n=a.size();cin>>m;
for(i=0;i<m;i++){
t=(n/m)+(i<n%m?1:0);
for(j=t1;j<t1+t;j++)
tmp[i]+=a[j];
t1+=t;
}
t1=0;
for(i=0;i<t+1;i++){
for(j=0;j<m;j++){
if(t1<n){
putchar(tmp[j][i]);
t1++;
}
}
}
putchar('.');
return 0;
}//1.2
加密器(二进制)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i,m;string a,b;
ofstream out("Beat.bin",ios::app);
cin>>a;
for(i=0;i<a.size();i++){
b="";
n=a[i];
while(n){
b+=('0'+n%2);
n/=2;
}
reverse(a.begin(),a.end());
out<<b<<" ";
for(n=0;n<b.size();n++){
printf("%c",b[n]);
}
putchar(' ');
}
out<<"end";
return 0;
}
//1.2
解密器(二进制)
#include<bits/stdc++.h>
#include<unistd.h>
using namespace std;
int main(){
int n,i,m;string a;
ifstream in("Beat.bin");
ofstream out("Beat.txt",ios::app);
while(1){
if(access("Beat.bin",F_OK)==0)
in>>a;
else
getline(cin,a,' ');
n=0;
m=a.size();
if(a=="end"||a=="END") break;
for(i=m-1;i>=0;i--){
n+=(a[i]=='0'?0:pow(2,m-i-1));
}
out<<char(n);
printf("%c",n);
}
out<<'.';
printf(".");
return 0;
}
//1.2