2016年 秋招 hua为 上机题目:CD key 生成
来源:互联网 发布:锦户亮与新垣结衣 知乎 编辑:程序博客网 时间:2024/05/09 17:20
题目很简单,把题目读懂最重要,笔者随手写点。。
原题:
#include <iostream>#include<vector> using namespace std; class cd_key{ private: string mystring="23456789ABCDEFGHJKLMNPQRSTUVWXYZ"; char mychar='-'; public: string cd_key_generate(int a,int b,int c) { //先取低16 串起来 string s=low_n(a)+low_n(b)+low_n(c);//一共48 s+=s; //先输出前14个 vector<char>v; for(int i=1;i<15;++i){ string s2=s.substr(96-5*i,5); v.push_back(string_char(s2)); } //求 ascii 码的和 int sum=0; for(char j:v) sum+=j; //取低十位 string s3=low_n(sum,10); for(int i=0;i<2;++i){ string s4=s3.substr(5*i,5); v.push_back(string_char(s4)); } for(int k=0;k<3;++k) v.insert(4+5*k+v.begin(),mychar); string s5=""; for(char j:v) s5+=j; return s5; } //取低n位 string low_n(int &a,int n=16){ //默认取低16位 int temp=a; string s=""; while(0 != temp) { s=char(48+temp % 2)+s; temp = temp >> 1; } int m=s.size(); //变成了m位了 if(m>=n)return s.substr(0,n); //否则还差 n-m位 else return string(n-m,'0')+s; } //把5位string 转为 字符串 char string_char(string &s){ int n=0; for(char i:s) n=2*n+i-48; return mystring[n]; } };int main() { cd_key A; string ss=A.cd_key_generate(1,2,1); cout<<ss<<endl; return 0;}
0 0
- 2016年 秋招 hua为 上机题目:CD key 生成
- 2016hua为校招:笔试上机题目:游程编码、解码
- 腾讯秋招上机题目游戏任务标记C++实现
- 2016年华为校招上机考试试题答案
- 腾讯2016秋招题目
- 2014年华为上机题目
- 2014年华为上机题目
- CD-key
- 华为2016年上机机考题目
- 华为校招软件上机考试题目解析
- hua
- 2016 微软秋招(校招)在线笔试 题目1 : Farthest Point
- 2016 微软秋招(校招)在线笔试 题目234
- 常用软件CD-KEY
- AxureRP 8.0 cd-key
- 2014 8月华为软件类上机笔试题目解答
- 2016腾讯校招笔试 (部分题目)
- 爱奇艺2016校招面试题目
- 1、Qt环境搭建
- c++运算符重载中的两种形式以及常引用的使用
- Linux 下修改字符集
- 安卓 网易云音乐能用的API
- MySql面试题精选
- 2016年 秋招 hua为 上机题目:CD key 生成
- delayQueue原理理解之源码解析
- hdu 1175 连连看
- Tiling a Grid With Dominoes
- R语言:读取excel的perl问题
- IP数据报的格式
- uart应用层设置
- 实例分析神经网络传播过程
- java集合框架源码分析之一