hdu 5237 Base64
2015-06-05 22:37
405 查看
#include <stdio.h> #include <string.h> char map[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; char s[10005]; char encoded[10005]; void base64() { long long t, slen, p, i, flag; p = 0; slen = strlen(s); flag = slen % 3; for(i = 0;i < slen;i += 3) { t = (s[i]<<16) + (s[i + 1]<<8) + s[i + 2]; encoded[p++] = map[(t&((1<<6) - 1)<<18)>>18]; //t>>6; encoded[p++] = map[(t&((1<<6) - 1)<<12)>>12]; //t>>6; encoded[p++] = map[(t&((1<<6) - 1)<<6)>>6]; //t>>6; encoded[p++] = map[t&((1<<6) - 1)]; } if(flag == 1) { encoded[p - 1] = '='; encoded[p - 2] = '='; } else if(flag == 2) encoded[p - 1] = '='; encoded[p] = '\0'; //printf("%d\n", p); } int main() { int t, k, m, i; scanf("%d", &t); m = 1; while(t--) { scanf("%d %s", &k, s); while(k--) { base64(); strcpy(s, encoded); } printf("Case #%d: ", m++); for(i = 0;i < strlen(encoded);i++) printf("%c", encoded[i]); printf("\n"); } return 0; }
相关文章推荐
- Transformation 能将 Windows XP/Server 2003 操作系统,完美地模拟成 Windows Vista 的软件
- 用javascript和css模拟select的脚本
- javascript用层模拟可移动的小窗口
- 自编jQuery插件实现模拟alert和confirm
- javascript 模拟点击广告
- JavaScript实现MIPS乘法模拟的方法
- 模拟xcopy的函数
- php模拟服务器实现autoindex效果的方法
- C# SendInput 模拟鼠标操作的实现方法
- PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
- php模拟登陆的实现方法分析
- php模拟用户自动在qq空间发表文章的方法
- php 模拟 asp.net webFrom 按钮提交事件实例
- php模拟post提交数据的方法
- JavaScript模拟重力状态下抛物运动的方法
- JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
- python模拟enum枚举类型的方法小结
- Python实现windows下模拟按键和鼠标点击的方法
- JS实现模拟新浪微博大厅和腾讯微博首页微博消息滚动效果
- vbs模拟登陆、遍历,然后批量,调用迅雷下载某电影网站的资源