,,,,,,,,,,,,,,,,,,所以(- k) mod=a - k mod
,,,,,,,,,,,,,,,,,,即一个负整数的模,就为a -其绝对值的模一个
运行截图及代码如下:
# include
# include
# include
using namespace 性传播疾病;
# define n 10
string dezero (string )//用来去掉正数前面的0,也就是说可以输入000001类似这样的数字
{
,long int 我;
,(i=0; i< a.length();我+ +)
,{
,如果(a.at (i)在48),打破;
,}
,如果(我==a.length ()), return “0”;
,a.erase (0, 1);
,return ;
}
int 法官(string string b)//判断两个正数的大小
{
,如果(a.length()在b.length ()), return 1;
,如果(a.length () & lt; b.length ()), return 1;
,long int 我;
,(i=0; i< a.length();我+ +)
,{
,如果(a.at (i)在在(我)),return 1;
,如果(a.at(我)& lt;在(我)),return 1;
,}
,return 0;
}
string - (string string b)//自然数减法(在之前博客中写到过,这里直接挪过来调用了)
{
,=dezero ();
,b=dezero (b);
,long int i, j=0;
,string c=?”;
,string c1, c2;
,string d=安澄?;
,如果(法官(a, b)==0), return c;
,如果法官(a, b)==1)
,{
,c1=一个;
,c2=b;
,}
,如果法官(a, b)==1)
,{
,c1=b;
,c2=一个;
,j=1;
,}
,反向(c1.begin (), c1.end ());
,反向(c2.begin (), c2.end ());
,(i=0; i< c2.length();我+ +)
,{
,如果(c2.at (i)在=48,,c2.at(我)& lt;=57), c2.at (i) -=48;
,如果(c2.at (i)在=97,,c2.at(我)& lt;=122), c2.at (i) -=87;
,}
,(i=0; i< c1.length();我+ +)
,{
,如果(c1.at (i)在=48,,c1.at(我)& lt;=57), c1.at (i) -=48;
,如果(c1.at (i)在=97,,c1.at(我)& lt;=122), c1.at (i) -=87;
,}
,(i=0; i< c2.length();我+ +)
,{
,c1.at (i)=c1.at (i) -c2.at(我);
,}
,(i=0; i< c1.length() 1;我+ +)
,{
,如果(c1.at(我)& lt; 0)
,{
,c1.at(我)+=n;
,c1.at (i + 1);
,}
,}
,(i=c1.length () 1; i>=0;我——)
,{
,如果(c1.at (i)在0),打破;
,}
,c1.erase (i + 1, c1.length ());
,(i=0; i< c1.length();我+ +)
,{
,如果(c1.at (i)在=10),c1.at (i) +=87;
,如果(c1.at(我)& lt; 10), c1.at(我)+=48;
,}
,反向(c1.begin (), c1.end ());
,如果(j==1), c1.insert (0, d);
,return c1;
}
string 国防部(string string b)//取模运算
{
,long int i, j=0;
,string c1, c2, c3, d;
,如果(a.at (0)==& # 39; & # 39;), j=1;
,如果(法官(a, b)==0), return “0”;
,如果法官(a, b)==1)
,{
,return ;
,}
c1=dezero,(一个);
,c2=dezero (b);
,d=?“;
,(i=0; i< c1.length();我+ +)
,{
,d=d + c1.at(我);
,而(法官(d, b)在=0)
,{
,d=- (d、b);
,d=dezero (d);
,}
,}
,如果(j==1), d=- (b, d);
,return d;
}
int main ()
{
,string a、b;
,而(cout