zoukankan      html  css  js  c++  java
  • A + B Problem II (hdu1002)

    大数加法运算,自测没有前导0的干扰,还算不是很坑的一个大数加法的运算。。。一直WA因为开了cin加速还用了printf和cout两种输出。。。以后注意好像是都统一就行。。。要么都用printf要么都用cout???反正都用cout就绝对可以。

    思路是先比较a和b的大小是不是位数相同,然后位数小的加前导0直到位数相同为止,然后倒序相加记录进位的数就行了。

    我的代码(思路借鉴别人)

    #include <iostream>
    #include <algorithm>
    using namespace std;
    main()
    {
    	ios_base::sync_with_stdio(0);
    	cin.tie(NULL);
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		string a,b;
    		string aa,bb;
    		cin>>a>>b;
    		aa=a;bb=b;
    		if(a.size()>b.size())
    		{
    			for(int i=0;a.size()!=b.size();i++)
    			b='0'+b;	
    		}
    		else if(a.size()<b.size())
    		{
    			for(int i=0;a.size()!=b.size();i++)
    			a='0'+a;	
    		}	
    		reverse(a.begin(),a.end());
    		reverse(b.begin(),b.end());
    		string c="";
    		int jw=0;
    		int num;
    		for(int i=0;i<a.size();i++)
    		{
    			num=a[i]-'0'+b[i]-'0'+jw;
    			jw=num/10;
    			num%=10;
    			c=char(num+'0')+c;
    		}
    		if(jw!=0)
    		c=char(jw+'0')+c;
    		cout<<"Case "<<i<<":"<<endl;
    		cout<<aa<<" + "<<bb<<" = "<<c<<endl;
    		if(i!=n)
    		cout<<endl;
    	} 
    } 
    
  • 相关阅读:
    js看懂funid与funname各自的作用以及回显示是怎么找到对应位置的
    居然脑海中还记得03年的瑞星升级ID号
    [恢]hdu 2186
    [恢]hdu 2109
    [恢]hdu 2140
    [恢]hdu 2160
    [恢]hdu 2101
    [恢]hdu 2162
    [恢]hdu 2201
    [恢]hdu 2163
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/9745938.html
Copyright © 2011-2022 走看看