mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Create 1650.cpp
This commit is contained in:
parent
a1e4a6c933
commit
06df7f0ac2
82
QUSTOJ/1650.cpp
Normal file
82
QUSTOJ/1650.cpp
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <cstring>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//Kiritow's BIGN (class BigNumber) Written on Nov. 12th, 2015
|
||||||
|
//Original Version: Build 1
|
||||||
|
class bign
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//WARNING: We use public here to reduce time consumed on Interface, although this is not a recommended way.
|
||||||
|
int data[3000];
|
||||||
|
bool more_than_zero;
|
||||||
|
bign()
|
||||||
|
{
|
||||||
|
more_than_zero=true;
|
||||||
|
}
|
||||||
|
void set_empty()
|
||||||
|
{
|
||||||
|
memset(data,0,sizeof(int)*3000);
|
||||||
|
}
|
||||||
|
int lenx()
|
||||||
|
{
|
||||||
|
for(int i=3000-1;i>=0;i--)
|
||||||
|
{
|
||||||
|
if(data[i]!=0) return i+1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
char CompareBIGN(bign& a,bign& b)
|
||||||
|
{
|
||||||
|
int lena=a.lenx();
|
||||||
|
int lenb=b.lenx();
|
||||||
|
if(lena<lenb)
|
||||||
|
{
|
||||||
|
return '<';
|
||||||
|
}
|
||||||
|
else if (lena>lenb)
|
||||||
|
{
|
||||||
|
return '>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for(int i=lena-1;i>=0;i--)
|
||||||
|
{
|
||||||
|
if(a.data[i]>b.data[i])
|
||||||
|
{
|
||||||
|
return '>';
|
||||||
|
}
|
||||||
|
else if(a.data[i]<b.data[i])
|
||||||
|
{
|
||||||
|
return '<';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return '=';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConvertSTRtoBIGN(const char* incstr,bign& incbign)
|
||||||
|
{
|
||||||
|
int len=strlen(incstr);
|
||||||
|
for(int i=0;i<len;i++)
|
||||||
|
{
|
||||||
|
incbign.data[len-i-1]=incstr[i]-'0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bign a,b;
|
||||||
|
char buff[3000];
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
a.set_empty();
|
||||||
|
b.set_empty();
|
||||||
|
gets(buff);
|
||||||
|
ConvertSTRtoBIGN(buff,a);
|
||||||
|
gets(buff);
|
||||||
|
ConvertSTRtoBIGN(buff,b);
|
||||||
|
printf("%c\n",CompareBIGN(a,b));
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user