Day8:數位拆解

一、數位拆解

  • 題目描述

寫個算法,對2個小于1000000000的輸入,求結果。 特殊乘法舉例:123 * 45 = 14 +15 +24 +25 +34+35

  • 輸入描述

兩個小于1000000000的數

  • 輸出描述

輸入可能有多組數據,對于每一組數據,輸出Input中的兩個數按照題目要求的方法進行運算后得到的結果。

  • 示例輸入

123 45

  • 示例輸出

54

代碼8.1.1 求余取模,除10移位

#include <stdio.h>

int main(){
    int a, b;
    while(scanf("%d %d",&a, &b) != EOF)
    {
        int buf1[20], buf2[20]; //暫存數位拆解出來的數
        int i = 0, j = 0, s = 0;
        while(a > 0)
        {
            buf1[i++] = a % 10;
            a /= 10;
        }
        while(b > 0)
        {
            buf2[j++] = b % 10;
            b /= 10;
        }
        for( int m = 0; m < i; m++)
        {
            for(int n = 0; n < j; n++)
            {
                s += buf1[m] * buf2[n];
            }
        }
        printf("%d\n", s);
    }
    return 0;
}

8.1.2 存為字符串

#include <stdio.h>

int main(){
    char a[11], b[11]; //利用字符串讀入
    while(scanf("%s%s",a,b) != EOF)
    {
        int s = 0;
        for( int m = 0; a[m] != 0; m++)
        {
            for(int n = 0; b[n] != 0; n++)
            {
                //字符與字符'0'ASCII值的差為字符對應的數字
                s += (a[m] - '0') * (b[n] - '0');
            }
        }
        printf("%d\n", s);
    }
    return 0;
}

二、進制轉換

  • 題目描述

輸入兩個不超過整型定義的非負10進制整數A和B(<=231-1),輸出A+B的m (1 < m <10)進制數。

  • 輸入描述

輸入格式:測試輸入包含若干測試用例。每個測試用例占一行,給出m和A,B的值。
當m為0時輸入結束。

  • 輸出描述

輸出格式:每個測試用例的輸出占一行,輸出A+B的m進制數。

  • 示例輸入

8 1300 48
2 1 7
0

  • 示例輸出

2504
1000

代碼8.2

#include <stdio.h>

int main()
{
    long long a, b; //確保不會溢出
    int m;
    while(scanf("%d", &m) != EOF)
    {
        if(m == 0) break;
        scanf("%lld%lld", &a, &b);
        a = a + b; //先求和
        //轉為m進制數
        int s[50], i = 0;
        do{
            s[i++] = a % m;
            a /= m;
        }while(a != 0); //即使a=0也至少會執行一次do
        for(int j = i - 1; j >= 0; j--)
        {
            printf("%d",s[j]); //順序逆過來,高位到低位
        }
        printf("\n");
    }
    return 0;
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 專業考題類型管理運行工作負責人一般作業考題內容選項A選項B選項C選項D選項E選項F正確答案 變電單選GYSZ本規程...
    小白兔去釣魚閱讀 9,051評論 0 13
  • 在C語言中,五種基本數據類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,392評論 0 2
  • 選擇題部分 1.(),只有在發生短路事故時或者在負荷電流較大時,變流器中才會有足夠的二次電流作為繼電保護跳閘之用。...
    skystarwuwei閱讀 13,219評論 0 7
  • 數據結構與算法 1.算法的有窮性是指( )。答案:A A)算法程序的運行時間是有限的 B)算法程序所處理的數據量是...
    織夢學生閱讀 3,448評論 1 15
  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,435評論 0 5