文章

60

粉丝

361

获赞

41

访问

498.7k

头像
通不过的可能原因之一
P1176 清华大学上机题
发布于2021年1月9日 21:31
阅读数 11.4k

代码成品是这样子

分享一下,今天提交了好几次,没成功,该在牛客网提交,直接成功

后面发现是题目没说清楚,输入应该是连续输入,

所以将输入改为连续输入即可。

有点无语。。。

第一步先将十进制转为二进制

第二步将二进制逆序,因为第一部已经逆序了,所以这步不用做

第三步是将逆序二进制转为十进制

这三步的主要难点在于是对字符串操作,所以加法运算和乘法运算要重新写,其他模块的思路直接用老师课上讲的。

 

#include
#include 
#include 
#include 
using namespace std;

string chufa(string s)
{
    int jiewei=0;
    for(int i=0;i     {
        int temp=jiewei*10+s[i]-'0';
        s[i]=temp/2+'0';
        jiewei=temp%2;
    }
    int j=0;
    while(s[j]=='0')
        j++;
    return s.substr(j);
}

string jiafa(string s1,string s2)//默认s1长于s2
{
    string s3=s1+"0";//生成多一位数
    int jinwei=0,temp=0;
    for (int i=s1.size()-1;i>=0;i--)
    {
        if(i>=s1.size()-s2.size())
        {
            temp=jinwei+s1[i]-'0'+s2[i-s1.size()+s2.size()]-'0';
        }
        else
        {
            temp=jinwei+s1[i]-'0';
        }
        s3[i+1]=temp%10+'0';
        jinwei=temp/10;
    }
    if(jinwei==1)
        s3[0]='...
登录查看完整内容


登录后发布评论

1 条评论
N诺子言
2021年2月3日 18:25

好无语

赞(0)