一个长二进制串,求除3的余数
来源:互联网 发布:淘宝店铺装修图片素材 编辑:程序博客网 时间:2024/06/05 07:16
有一个很长二进制串,求出除以3的余数是多少,给出算法的时间复杂度
/*File name:一个长二进制串,求除3的余数.cppAuthor:杨柳Date:2017/5/30IDE:DEV-c++ 算法思想:首先应该二进制转化为十进制的数n,然后再将十进制数取余3,时间复杂度为:若有n个二进制串,只有一个for循环O(n)。*/#include <iostream> #include <string.h> #include <math.h> using namespace std;//将一个字符型数字转化成整型数字int charToNum(char num) { //num在'0'-'9' if(num<='9'&&num>='0') { num-=48; } //num在'A/a'到'F/f' else { switch(num) { case 'A': case 'a': num=10; case 'B': case 'b': num=11; case 'C': case 'c': num=12; case 'D': case 'd': num=13; case 'E': case 'e': num=14; case 'F': case 'f': num=15; } } return num; } //将任意进制整数转化为十进制整数int convertToDecimal(string num,int binary) //num为任意进制整数,binary为该整数的进制 { int len=num.size(); int decimal_num=0; for(int i=0;i<len;i++) { decimal_num+=charToNum(num[i])*pow(binary,len-i-1); } return decimal_num; } int main(){string str;cout<<"输入二进制串:"<<endl;cin>>str;int decimal_num=convertToDecimal(str,2);int result=decimal_num%3;cout<<"二进制串除以3的余数:" <<endl;cout<<result;return 0;}
/*File name:一个长二进制串,求除3的余数.cppAuthor:杨柳Date:2017/5/30IDE:DEV-c++ 算法思想:首先应该二进制转化为十进制的数n,然后再将十进制数取余3,时间复杂度为:若有n个二进制串,只有一个for循环O(n)。*/#include <iostream> #include <string.h> #include <math.h> using namespace std;//将一个字符型数字转化成整型数字int charToNum(char num) { //num在'0'-'9' if(num<='9'&&num>='0') { num-=48; } //num在'A/a'到'F/f' else { switch(num) { case 'A': case 'a': num=10; case 'B': case 'b': num=11; case 'C': case 'c': num=12; case 'D': case 'd': num=13; case 'E': case 'e': num=14; case 'F': case 'f': num=15; } } return num; } //将任意进制整数转化为十进制整数int convertToDecimal(string num,int binary) //num为任意进制整数,binary为该整数的进制 { int len=num.size(); int decimal_num=0; for(int i=0;i<len;i++) { decimal_num+=charToNum(num[i])*pow(binary,len-i-1); } return decimal_num; } int main(){string str;cout<<"输入二进制串:"<<endl;cin>>str;int decimal_num=convertToDecimal(str,2);int result=decimal_num%3;cout<<"二进制串除以3的余数:" <<endl;cout<<result;return 0;}
阅读全文
0 0
- 一个长二进制串,求除3的余数
- 大数相除求余数
- 输入两个整数,求他们相除的余数
- 求1000位随机数除7的余数(java)
- 判断二进制数除以3的余数
- 输入两个整数,求他们相除的余数。用带参的宏来实现,编程序。
- 求余数的妙用
- 求一个数的二进制
- 哈希表的实现 除留余数法
- POJ2527 简化 · 多项式相除求余数
- 9.2 输入两个整数,求它们相除的余数。用带参的宏来实现,编程序。
- 如何求大数的余数
- 用带参的宏求余数
- 关于求余数的思考
- 大整数的求余数
- 求大整数的余数
- 求一个数的二进制的位数
- 求一个整数的二进制最高位
- 编程电子书大全
- 发布本地项目到中央maven仓库
- Android高级控件系列五之Gallery的使用(已过时)
- Linux之ARP协议
- 图片的轮播
- 一个长二进制串,求除3的余数
- 抽象类/接口
- java-数组
- bzoj 3532: [Sdoi2014]Lis 构造字典序最小割
- Volley传输网络数据
- Threading (C#)
- src/main/resources和WEB-INF
- Spring 申明式事务之注解
- userManager(实训)