游客 Signup | Login
中文 | En

2716 - X的Y次方

求X的Y次方。X的范围1-10,Y的范围1-20.

X和Y的值依次输入。

 

Input

Output

Examples

Input

5
20

Output

95367431640625

Solution C

#include <stdio.h> 
int main() 
{
	int m,n,a[20000],carry,i,j,digit = 1,temp;
	a[0] = 1;
	scanf("%d %d",&m,&n);
	for(i = 1; i <= n; ++i) 
	{
		carry = 0; 
		for(j = 1; j <= digit; ++j) 
		{
			temp = a[j-1] * m + carry; 
			a[j-1] = temp % 10; 
			carry = temp / 10;
		}
		while(carry) 
		{
			a[++digit-1] = carry % 10; 
			carry /= 10; 
		} 
	} 
    for(i = digit; i >=1; --i) 
	{
		printf("%d",a[i-1]); 
	}
	return 0;
}

Solution C++

#include<iostream>
using namespace std;

unsigned R[20000] = {0};

int main()
{
	int i,j;
	int X,Y;
	unsigned temp;
	unsigned temp1;
	unsigned temp2 = 1;
	cin >> X >> Y;
	R[0] = 1;
	for(i = 1; i <= Y; i++)
	{
		temp = 0;
		for(j = 1; j <= temp2; j++)
		{
			temp1 = R[j-1] * X + temp;
			R[j-1] = temp1 % 10;
			temp = temp1 / 10;
		} 
		while(temp)
		{
			R[++temp2-1] = temp % 10;
			temp /= 10;
		}
	}
	for(i = temp2;i >= 1; i--)
	{
		cout << R[i-1];
	}
	return 0;
} 
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题