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 t1mch0w at 2013-01-30 23:52:23 on Problem 1001
#include<stdio.h>
#include<stdlib.h>

#define MAX 150
int main()
{
	char tmp_char[7];
	int n, i, j, k, tag, front_tag, back_tag;
	int first[MAX], second[MAX], tmp[MAX], tmp_tag;
	while(scanf("%s%d", tmp_char ,&n) == 2) 
	{
		//Initially Setting
		for ( i = 0; i < MAX; i++)
		{
			first[i] = second[i] = tmp[i] = 0;
		}

		//Turning into first, second
		tag = -1;
		for( i = 5, j = 0; i >= 0; i--)
		{
			if ( tmp_char[i] == '.') tag = 5 - i;
			else
			{
				first[j] = second[j] = tmp_char[i] - 48;
				j++;
			}
		}

		//Multiplication
		for ( i = 0; i < n - 1; i++)
		{
			for (j = 0; j < MAX; j++)
			{
				tmp[j] = 0;
			}

			for( j = 0; j < 6 * ( i + 1); j++)
			{
				for ( k = 0; k < 6; k++)
				{
					tmp[j + k] += first[j] * second[k];
				}
			}

			for ( j = 0; j <= 6 * (i + 2); j++)
			{
				if ( tmp[j] > 9)
				{
					tmp[j + 1] += tmp[j] / 10;
					tmp[j] = tmp[j] % 10;
				}
				first[j] = tmp[j];
			}
		}
		//(1,0) = 1
		if ( n == 0)
		{
			for ( i = 0; i < MAX; i++)
			{
				first[i] = 0;
			}
			first[0] = 1;
		}

		//Transfer
		if ( tag != -1) tag *= n;
		
		back_tag = front_tag = -1;
		for ( i = 0; i < tag; i++)
		{
			if ( first[i] != 0)
			{
				back_tag = i;
				break;
			}
		}

		for ( i = MAX; i >=tag; i--)
		{
			if ( first[i] != 0)
			{
				front_tag = i;
				break;
			}
		}

		//Print
		if ((front_tag == -1)&&(back_tag == -1))
		{
			printf("%d", 0);
		}
		else
		{
			if (front_tag != -1)
			{
				for ( i = front_tag; i >= (tag>=0?tag:0); i--)
				{
					printf("%d", first[i]);
				}
			}

			if (back_tag != -1)
			{
				printf("%c", '.');
				for ( i = tag - 1; i >= back_tag; i--)
				{
					printf("%d", first[i]);
				}
			}
		}
		printf("%s", "\n");
	}
	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