CodeForces - 630B Moore's Law (快速幂)

CodeForces - 630B
Moore's Law
Time Limit: 500MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u

Submit Status

Description

The city administration of IT City decided to fix up a symbol of scientific and technical progress in the city's main square, namely an indicator board that shows the effect of Moore's law in real time.

Moore's law is the observation that the number of transistors in a dense integrated circuit doubles approximately every 24 months. The implication of Moore's law is that computer performance as function of time increases exponentially as well.

You are to prepare information that will change every second to display on the indicator board. Let's assume that every second the number of transistors increases exactly 1.000000011 times.

Input

The only line of the input contains a pair of integers n (1000 ≤ n ≤ 10 000) and t (0 ≤ t ≤ 2 000 000 000) — the number of transistors in the initial time and the number of seconds passed since the initial time.

Output

Output one number — the estimate of the number of transistors in a dence integrated circuit in t seconds since the initial time. The relative error of your answer should not be greater than 10 - 6.

Sample Input

Input
1000 1000000
Output
1011.060722383550382782399454922040
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#define INF 0x3f3f3f3f
#define ll long long
#define N 10010
#define M 1.000000011
using namespace std;
double ks(double x,int k)
{
	double ans=1.0;
	while(k)
	{
		if(k&1)
			ans=ans*x;
		x*=x;
		k>>=1;
	}
	return ans;
}
int main()
{
	int n,t;
	while(scanf("%d%d",&n,&t)!=EOF)
	{
		double ans=ks(M,t);
		printf("%.7lf\n",ans*n);
	}
	return 0;
}

你可能感兴趣的:(CodeForces - 630B Moore's Law (快速幂))