27:除以13

總時間限制: 

1000ms

 

內存限制: 

65536kB

描述

輸入一個大於0的大整數N,長度不超過100位,要求輸出其除以13得到的商和餘數。

輸入

一個大於0的大整數,長度不超過100位。

輸出

兩行,分別爲整數除法得到的商和餘數。

樣例輸入

2132104848488485

樣例輸出

164008065268345
0

提示

模擬除法運算,商的長度應該比輸入大整數的長度少1或2。

 

這裏高精度的話,我就寫了一個這題題目的AC的代碼,代碼有比較詳細的註釋,可以當作模板來使用

#include<bits/stdc++.h>
using namespace std;
string s1;
int a[110];
int r[100];
int main()
{
	cin>>s1;
	int len=s1.length();//字符串的長度 
	for(int i=1;i<=len;i++) //從1到n 
	{
		a[i]=s1[i-1]-'0';
	}
	a[0]=len; //數字的長度 
	int t=0; //餘數 
	for(int i=1;i<=a[0];i++)
	{
		
		t=t*10+a[i]; //當前的值 
	
		r[i]=t/13; //當前所在位的商 
		
		t=t%13;  //餘數 

	}
	int k=1; //從第一位開始 
	while(k<a[0]&&r[k]==0) k++; //去除前導零 
	for(int i=k;i<=a[0];i++)
	{
		cout<<r[i]; //輸出商 
	}
	cout<<endl<<t<<endl; //輸出餘數 
	return 0;
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章