洛谷P6467—[COCI2008-2009#6]BUKA题解

传送门

好简单的水题啊

位数大可以用字符串

具体分成(4)种情况来做:

(下面将数字一叫做(s1),数字二叫做(s2)

  1. 乘法:

    • 输出(1)
    • 输出(s1s2)位数之和减(2)(0)(两数各抹掉最高位(1)

    like this

        10000//10的4次方
      *  1000//10的3次方
    —————————
     10000000//10的4+3次方
    
  2. 加法且(s1s2)位数不同且(s1)(s2)大:

    • (s1)从后往前数第(s2)长度位设为(1)
    • 输出(s1)

    like this

        10000//5位
     *   1000//4位
     ————————
        11000//将s1第4位(从后往前)设为1
    
  3. 加法且(s1s2)位数不同且(s2)(s1)大:

    • (s2)从后往前数第(s1)位设为(1)
    • 输出(s2)

    like this

        1000//4位
    *  10000//5位
    ————————
       11000//将s2第4位(从后往前)设为1
    
  4. 加法且位数相同:

    • (s1)最高位设为(2)
    • 输出(s1)

    like this

       10000//5位
    *  10000//5位
    ————————
       20000//最高位设为2
    

[]

分别对应下面4段程序

	cout<<1;
	for(int i=0;i<s1.size()+s2.size()-2;i++)cout<<0;
	s1[s1.size()-s2.size()]='1';
        cout<<s1;
	s2[s2.size()-s1.size()]='1';
        cout<<s2;
	s1[0]='2';
	cout<<s1;
2020/11/5 修复一些语言表达上的不当

完结撒花(。・∀・)ノ❀

蟹蟹观看