Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

帮忙看看我怎么错的吧,各位。我高精度写得没问题啊,样例也过了

Posted by anonym11 at 2004-12-15 13:36:55 on Problem 1220
#include<iostream>
#include<cstring>
using namespace std ;
#define unit 1000
typedef struct Number {
	int d[1000] ;
	int l ;
}Number ;

void add ( Number &a , int n )
{
	a.d[0] += n;
	int i ,c = a.d[0] / unit  ;
	a.d[0] %= unit;
	for ( i = 1 ;c || i < a.l  ;i ++ )
	{
		a.d[i] += c ;
		c = a.d[i] / unit ;
		a.d[i] %= unit ;
	}
	a.l = i ;
	while ( a.l > 0 && a.d[a.l-1] == 0 )
		a.l -- ;
}

int div ( Number &a, int n )
{
	int i ,c = 0;
	for ( i = a.l - 1;i >= 0; i -- )
	{
		a.d[i] += c * unit ;
		c = a.d[i] % n ;
		a.d[i] /= n ;
	}
	while ( a.l > 1 && a.d[a.l-1] == 0 )
		a.l -- ;
	return c;
}

void mul ( Number &a, int n )
{
	int i ,c = 0;
	for ( i = 0 ;i < a.l || c > 0 ;i ++ )
	{
		a.d[i] *= n ;
		a.d[i] += c ;
		c = a.d[i] / unit ;
		a.d[i] %= unit ;
	}
	a.l = i ;
}

int main ()
{
	Number a;
	int b1, b2, len, i, t;
	char in[unit], out[unit];
	freopen ( "d:\\in.txt","r",stdin );
	cin >> t;
	while ( t -- ) {
		cin >> b1 >> b2 >> in;
		cout << b1 << ' ' << in << endl << b2 << ' ';
		memset ( a.d, 0, sizeof ( a.d ) );
		a.l = 1;
		for ( len = 0; in[len] ; len ++ )
			if ( in[len] <= '9' )
				in[len] -= '0';
			else
				if ( in[len] >= 'a')
					in[len] -= 'a' - 36;
				else
					in[len] -= 'A' - 10;
				for ( i = 0 ; i < len; i ++ )
				{
					mul ( a, b1 );
					add ( a, (int)in[i] );
				}
				len = 0;
				while ( a.d[0] || a.l - 1 )
					out[len++] = div ( a, b2 ) ;
				len --;
				while ( len >= 0 ) {
					if ( out[len] < 10 )
						cout << (int)out[len];
					else
						if ( out[len] < 36 )
							cout << (char) ( out[len] + 'A' - 10 ) ;
						else
							cout << (char) ( out[len] + 'a' - 36 ) ;
						len --;
				}
				cout << endl << endl;
	}
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator