问题标题: 酷町堂:3727

0
0
已解决
张亦阳
张亦阳
资深守护
资深守护

#include<iostream>

using namespace std;

int main()

{

long long n,u,w,s=0,t=1,z=0,t1=1,w1;

cin>>n>>u;

while(n)

{

w=n%10; 

s=s+w*t;

t=t*2;  

n=n/10; 

}

while(u)

{

w1=u%10;    

z=z+w1*t1;

t1=t1*2;

u=u/10; 

}

cout<<s+t;

return 0;

}

 

为什么错了?

样例输出来是7


0
已采纳
陈振轩
陈振轩
高级光能
高级光能

额看不懂你写的,我就来上思路吧

我使用的是字符串存二进制数,如下:
    循环0到n.size()-1
        定义 j = n.size() - 1 - i;   //n的第一位是n的最大的数位,所以是从大到小的
        sum += (n[i] - '0')*pow(2, j);  //sum加的是string字符串的字符转换为整型变量后乘以2的j次方所得的数
    第二个循环也是如此,只是改成了m.size()
最后输出sum

望采纳

0
曲天歌
曲天歌
高级光能
高级光能

这道题我用的是那个字符串转换法。

0
曲天歌
曲天歌
高级光能
高级光能

可以定义两个字符串,两个sum,两个计数器。然后分别求,加起来,就是最后的答案

0
邓涵睿
邓涵睿
中级天翼
中级天翼
  • while(b){
  • h=h+b%10*s;
  • s=s*2;
  • b=b/10;
  • }
  • cout<<n+h;
  • 核心
0
董宇昊
董宇昊
初级启示者
初级启示者

为什么我搜不到这题?

我要回答