加密器加密器

#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