Exemple #1
0
int _tmain(int argc, _TCHAR* argv[])
{
	LongInt* A = new LongInt();
	A->SetData("2222");

	LongInt* B = new LongInt();
	B->SetData("99999999");

	LongInt* C = new LongInt();
	C->SetData("246813575732");

	LongInt* D = new LongInt();
	D->SetData("180270361023456789");

	cout<<"A = "<<A->GetData()<<endl;
	cout<<"B = "<<B->GetData()<<endl;
	cout<<"C = "<<C->GetData()<<endl;
	cout<<"D = "<<D->GetData()<<endl<<endl;

	LongInt *E, *F, *G, *H, *I, *J, *K, *L, *M, *N;

	cout<<"E = A * D = "<<(E = A->Multi(D))->GetData()<<endl;
	cout<<"F = A^2 = "<<(F = A->Pow(2))->GetData()<<endl;
	cout<<"G = D^2 = "<<(G = D->Pow(2))->GetData()<<endl;
	cout<<"H = B * C = "<<(H = B->Multi(C))->GetData()<<endl;
	cout<<"I = A + D = "<<(I = A->Add(D))->GetData()<<endl;
	cout<<"J = I^2 = "<<(J = I->Pow(2))->GetData()<<endl;
	cout<<"K = J - F = "<<(K = J->Minus(F))->GetData()<<endl;
	cout<<"L = K - G = "<<(L = K->Minus(G))->GetData()<<endl;
	cout<<"M = L / E = "<<""<<endl;
	cout<<"N = E^5 = "<<(N = E->Pow(5))->GetData()<<endl;
	//cout<<"O = H^3 = "<<""<<endl;
	//cout<<"P = N - O = "<<""<<endl;
	//cout<<"Q = N^2 = "<<""<<endl;
	//cout<<"R = O^2 = "<<""<<endl;
	//cout<<"S = Q - R = "<<""<<endl;
	//cout<<"T = S / P = "<<""<<endl;
	//cout<<"U = T - O = "<<""<<endl;
	//cout<<"V = U - N = "<<""<<endl;
	//cout<<"W = C^2 = "<<""<<endl;
	//cout<<"X = B^2 = "<<""<<endl;
	//cout<<"Y = W - X = "<<""<<endl;
	//cout<<"Z = C + B = "<<""<<endl;
	//cout<<"H = Y / Z = "<<""<<endl;
	//cout<<"F = N^5 = "<<""<<endl;
	//cout<<"G = E^25 = "<<""<<endl;
	//cout<<"I = F / N = "<<""<<endl;
	//cout<<"J = G / I = "<<""<<endl;
	//cout<<"M = N^10 = "<<""<<endl;
	//cout<<"P = G^2 = "<<""<<endl;
	//cout<<"Q = P - M = "<<""<<endl;
	//cout<<"R = J - M = "<<""<<endl;

	getchar();
	return 0;
}
Exemple #2
0
int main(int argc, char* argv[])
{
	LetsStart ();

	if (!FoolProof(argc,argv))
		return 0;

	char *fNameA=argv[1];
	char *DoIt=argv[2];
	char *fNameB=argv[3];
	char *fNameOut=argv[4];
	char *bin=argv[5];
	char *fNameM=argv[6];

	long size=0;
	LongInt a, b;

	char *ReadFlag=0;
	char *WriteFlag=0;
	if(strcmp(bin,"-b")==0)
	{
		ReadFlag = "rb";
		WriteFlag = "bw";
	}
	else
	{
		ReadFlag = "r";
		WriteFlag = "w";
	}
	
	if (!a.Read(ReadFlag, fNameA))
		return 0;
	if (!b.Read(ReadFlag, fNameB))
		return 0;;
	LongInt c;
	if (DoIt[0]=='-')
		c=a-b;
	if (DoIt[0]=='+')
		c=a+b;
	if (DoIt[0]=='*')
		c=a*b;
	if (DoIt[0]=='/')
		c=a/b;
	if (DoIt[0]=='%')
		c=a%b;
	if (DoIt[0]=='^')
	{
		LongInt mod;
		if(!mod.Read(ReadFlag, fNameM))
			return 0;
		c=c.Pow(a, b, mod);
	}
	//c.Print();	
	if (!c.WriteFile(WriteFlag, fNameOut))
		return 0;
	return 0;
}