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

baHunter C++

Posted by 1340502116 at 2016-07-07 16:32:14 on Problem 1001
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
const int MAXN=10005;
struct BigInt{
	int e[MAXN],len;
	int pis;
	BigInt()
	{
		memset(e,0,sizeof(e));
		len=0;
		pis=0;
	}
	void set(char s[])
	{
		int pp;
		for(int i=0;s[i];i++)
		{
			if(s[i]=='.')
			{
				pp=i;
				break;
			}		
		}
		int l=strlen(s)-1;
		pis=l-pp;
		for(int i=l;i>=0;i--)
		{
			if(s[i]=='.')continue;
			e[len++]=s[i]-'0';
		}
		while(e[len-1]==0&&len>1)	len--;
	}
	BigInt operator*(const BigInt& b)
	{
		BigInt res;
		for(int i=0;i<len;i++)
		{
			int up=0;
			for(int j=0;j<b.len;j++)
			{
				int z=(e[i]*b.e[j]+up+res.e[i+j]);
				res.e[i+j]=z%10;
				up=z/10;
			}
			if(up!=0)	res.e[i+b.len]=up;
		}
		res.pis=pis+b.pis;
		res.len=len+b.len;
		while(res.e[res.len-1]==0&&res.len>1)	res.len--;
		return res;
	}
	void print()
	{
		int limit=0;
		while(e[limit]==0&&limit<pis)	limit++;
		if(pis>=len)
		{
			cout<<".";
			int i;
			for(int i=pis;i>len;i--)
			{
				cout<<0;
			}
			for(int i=len-1;i>limit;i--)
			{
				cout<<e[i];
			}
			cout<<e[limit]<<endl;
		}
		else
		{
			for(int i=len-1;i>=pis;i--)
			{
				cout<<e[i];
			}
			if(limit<pis)
			{
				cout<<".";
				for(int i=pis-1;i>limit;i--)
				{
					cout<<e[i];
				}
				cout<<e[limit]<<endl;
			}
			else	cout<<endl;
		}
	}
	void print2()
	{
		for(int i=0;i<len-1;i++)
		{
			cout<<e[i];
		}
		cout<<e[len-1]<<endl;
	}
};
char buf[MAXN]="1.0";
char a[MAXN],b[MAXN];
int n;
int main()
{
	while(cin>>a>>n)
	{
		BigInt res,x;
		res.set(buf);
		x.set(a);
		for(int i=0;i<n;i++)
		{
			res=res*x;
		}
		res.print();
	}
	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