/** 大数除法与求余 **/
//这个是uva上的一个题,本身写的那个比较繁琐,借鉴了一些其他人的方法 ...
/***
这个题大意为输入两个数和一个符号( '/' or ''% ),求除法或是求余(其中除数是n满足 0<n<231),例:
输入为:
110 / 100
99 % 10
输出为:
1
9
***/
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s[1000],result[1000];
int main()
{
long long mod,divis;
int n,i,k,flag,len;
char c;
while(cin>>s>>c>>n) //输入被除数 s,符号 c ( '/' or ''% ),以及除数n
{
len=strlen(s);
if(c=='%')
{
mod=0;
for(i=0; i<len; i++)
{
mod=mod*10+s[i]-'0';
mod=mod%n; //利用除法性质,其实质是每次都是一个最多比n多一位的mod对n进行求余
}
cout<<mod<<en
大数运算 (五)(正整型)—— 大数的除法与求余
最新推荐文章于 2021-08-19 13:51:23 发布