这两道题咋做二进制加法Time Limit:1000MS Memory Limit:65536KTotal Submit:394 Accepted:129 Description 二进制是逢2进位的进位制,0、1是基本算符.现代的电子计算机技术全部采用的是二进制,因为它只使用0、1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 05:53:48

这两道题咋做二进制加法Time Limit:1000MS Memory Limit:65536KTotal Submit:394 Accepted:129 Description 二进制是逢2进位的进位制,0、1是基本算符.现代的电子计算机技术全部采用的是二进制,因为它只使用0、1
这两道题咋做
二进制加法
Time Limit:1000MS Memory Limit:65536K
Total Submit:394 Accepted:129
Description
二进制是逢2进位的进位制,0、1是基本算符.现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现.二进制运算在所有类型的计算机中都是最基本的运算.
二进制加法与十进制加法不同的是逢2进1.
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = 11
根据以上运算法则来计算两个二进制数相加的和.
Input
第一行为第一个二进制数.
第二行为第二个二进制数.
这两个二进制数都不会超过30个二进制位,并且不会是以0开头的非零数.
Output
输出这两个二进制数的和( 也用二进制数表示出来 ).
Sample Input
1000100
1001010
Sample Output
10001110
Source
还有这个求简单算法不能超时
素数回文
Time Limit:2000MS Memory Limit:65536K
Total Submit:2173 Accepted:544
Description
小明对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在小明想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数.(5

这两道题咋做二进制加法Time Limit:1000MS Memory Limit:65536KTotal Submit:394 Accepted:129 Description 二进制是逢2进位的进位制,0、1是基本算符.现代的电子计算机技术全部采用的是二进制,因为它只使用0、1
第一题
#include
int getval(char s[])
{
\x09int ret=0,i;
\x09for(i=0;s[i];i++)
\x09\x09ret=ret*2+s[i]-'0';
\x09return ret;
}
void out(int n)
{
\x09if(n>0)
\x09{
\x09\x09out(n/2);
\x09\x09printf("%d",n%2);
\x09}
}
int main()
{
\x09char s[100];
\x09int a,b;
\x09while(scanf("%s",s)!=EOF)
\x09{
\x09\x09a=getval(s);//把二进制转化成十进制
\x09\x09scanf("%s",s);
\x09\x09b=getval(s);
\x09\x09a+=b;
\x09\x09if(a==0)
\x09\x09{
\x09\x09\x09puts("0");
\x09\x09}
\x09\x09else
\x09\x09{
\x09\x09\x09out(a);//十进制转二进制
\x09\x09\x09puts("");
\x09\x09}
\x09}
return 0;
}
第二题
#include
#include
using namespace std;
const int MAX=100000001;
int p[100002];
int split(int bit[],int n)
{
\x09int len=0;
\x09for(len=0;n>0;len++,n/=10)
\x09\x09bit[len]=n%10;
\x09return len;
}
int getval(int n,int s)
{
\x09int bit[100];
\x09int len=split(bit,n),i;
\x09for(i=s;i\x09\x09n=n*10+bit[i];
\x09return n;
}
bool prime(int n)
{
\x09if(n<2)return false;
\x09int i;
\x09for(i=2;i*i<=n;i++)if(n%i==0)return false;
\x09return true;
}
void out(int n)
{
\x09if(n>0)
\x09{
\x09\x09out(n/10);
\x09\x09putchar(n%10+'0');
\x09}
\x09
}
int main()
{
\x09int i,a,b,c=0;
\x09for(i=1;true;i++)
\x09{
\x09\x09a=getval(i,0);
\x09\x09b=getval(i,1);
\x09\x09if(a>=MAX&&b>=MAX)break;
\x09\x09if(a\x09\x09p[c++]=a;
\x09\x09if(b\x09\x09p[c++]=b;
\x09}
\x09sort(p,p+c);
\x09//for(i=0;i\x09while(scanf("%d%d",&a,&b)!=EOF)
\x09{
\x09\x09for(i=0;p[i]\x09\x09for(;i\x09\x09{
\x09\x09\x09//printf("%d\n",p[i]);
\x09\x09\x09out(p[i]);
\x09\x09\x09putchar('\n');
\x09\x09}
\x09\x09puts("");
\x09}
return 0;
}

这两道题咋做二进制加法Time Limit:1000MS Memory Limit:65536KTotal Submit:394 Accepted:129 Description 二进制是逢2进位的进位制,0、1是基本算符.现代的电子计算机技术全部采用的是二进制,因为它只使用0、1 二进制算术加法运算式01010110+00110011 LIMI怎么样 用二进制加法表示 101+101=__________ 用二进制表示一定要用二进制发表示 二进制的加法和乘法运算规则是什么? 请问limi到底好不好用? 设计一个一位余3码的加法电路,选用四位二进制加法器74ls283 八位二进制补码如何求加法,说明为什么是带符号位直接相加, 计算机中二进制的乘法和除法如何用加法来实现的 执行下列二进制算术加法运算:10101010+00101011其运算结果是? 555定时器和二进制加法计数器74LVC161构成的电路 用74LS161四位同步二进制加法计数器的异步清零功能设计一个十进制计数器用74LS161四位同步二进制加法计数器的异步清零功能及74ls20设计一个十进制计数器 关于二进制正数与负数的加法将正数3FH和负数D0H相加怎么算, 设计一个两位二进制加法电路,该电路接收两个两位二进制数A1A0和B1B0,产生这两个数的和S1S0= A1A0+B1B0,设计一个两位二进制加法电路,该电路接收两个两位二进制数A1A0和B1B0,产生这两个数的和S1S0 二进制数1001.110+101.101为什么=1111.011不等于1100.011呢1001.110+ 101.101---------------11这两个数是怎么算的,二进制的加法当中不是1+1=0,0=0=0吗 两个8位带符号位的二进制数扩展成12位带符号的二进制数然后再做加法运算,这个要怎么算啊?主要是想问一下一正一负的算法 二进制的加法运算公式为:0+0=0 ,0+1=1,1+0=1,1+1=10,那么算式10+10等于 3计算下列二进制数的加法与乘法:101.1+11.11;1101*1011运行结果是:写出主要操作步骤:这是我们的计算机作业