• 个人简介

    #include<bits/stdc++.h>
    using namespace std;
    const int S=16;
    int num[110];
    int main(){
    	cout<<"欢迎来到随机点名"<<endl;
    	_sleep(500);
    	bool p[110];
    	while(true){
    		for(int i=1;i<=S;i++){
    			p[i]=0;
    		}
    		cout<<"输入抽取个数(0为退出)"<<endl;
    		int n;
    		cin>>n;
    		if(n==0){
    			break;
    		}
    		for(int i=1;i<=n;){
    			int x=rand()%S+1;
    			if(p[x]==0){
    				p[x]=1;
    				num[x]++;
    				cout<<x<<" ";
    				i++;
    			}
    		}
    		cout<<endl;
    		if(p[15]&&p[9]){
    			cout<<132499;
    		}
    		cout<<endl;
    		
    	}
    	cout<<"本次抽取:"<<endl;
    	_sleep(1000);
    	for(int i=1;i<=S;i++){
    		cout<<i<<"号:"<<num[i]<<"次"<<"    ";
    	}
    	return 0;
    }
    
    #传入一个字符,返回字符ASCII码所对应的8位二进制字符
    def tob(ch):
        x = ord(ch)  #将字符转换为ASCII
        res = ''     #存储返回值
        #补充完成将x转换为8位二进制字符的代码
        while x>0:
            res=str(x%2)+res
            x=x//2
        if len(res)!=8:
            res='0'*(8-len(res))+res
        return res
    
    #传入一个二进制字符串,返回其所对应的十进制数
    def tod(s):
        res = 0 #存储返回值
        #补充完成二进制转十进制代码
        for ch in s:
            res=res*2+int(ch)
        
        
        return res
    
    
    h = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' #用于字符映射
    equals_cnt = 0  #补“=”的个数
    zero_cnt = 0    #补“0”的个数
    
    s = input()     #读入待编码字符
    
    #==========1. 计算补“=”个数存入 equals_cnt========================
    if len(s) % 3 != 0:
        equals_cnt=3-len(s)%3
        
    #==========2. 将字符串s按照ASCII码转换为二进制串,存储在bits中=======
    bits = '' #存储转换后的二进制串
    for ch in s:
        bits=bits+tob(ch)
    
    
    #==========3. 计算补“0”个数存入zero_cnt===========================
    if len(bits)%6!=0:
        zero_cnt=6-len(bits)%6
    
    
    
    #===========4. 为二进制串bits补zero_cnt个0=========================
    bits=bits+'0'*zero_cnt
    
    
    #===========5. 按照Base64编码规则将转换后的编码存入ans===============
    ans = ''
    for i in range(0,len(bits),6):
        sjz=tod(bits[i:i+6])
        ans=ans+h[sjz]
        
    
    
    
    #===========6. 为ans补等号=========================================
    ans=ans+'='*equals_cnt
    
    
    print(ans)
    
  • 最近活动

    This person is lazy and didn't join any contests or homework.