NOI:7606 除以13

題目鏈接


題解:大整數除法,以數組的形式一位一位進行操作

注意:商中0的輸出,即當某位不夠13的時候,要商0

#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int main(){
    int a[105];
    string s;
    cin>>s;
    int tmp[105];
    int y=0;
    for(int i=0;i<s.size();i++){
        a[i]=s[i]-'0';
    }
    bool flag=false;
    for(int i=0;i<s.size();i++){
        int t=y*10+a[i];
        while(t<13&&i+1<s.size()){//不夠13的時候商0,並加上下一位
            i++;
           t=t*10+a[i];
            if(flag)cout<<0;
        }
        y=t%13;
        tmp[i]=t/13;
        cout<<t/13;
        flag=true;
    }
    cout<<endl;
    cout<<y<<endl;//得到餘數
    return 0;
}

發佈了96 篇原創文章 · 獲贊 16 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章