| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
WHY RE??? HELP!!!!!!!!#include <cstdio>
#include <string.h>
#include <vector>
using namespace std;
#define N 1000
int time(int v[],int v2[])
{
int i,j,k,c[N]={0},mid=0;
for(i=0;i<N-1;i++)
{
for(j=0,k=i;j<N-1;j++,k++)
{
c[k]+=(v[j]*v2[i]);
if(c[k]>=10)
{
c[k+1]+=c[k]/10;
c[k]=c[k]%10;
}
}
}
for(i=0;i<N;i++) {v[i]=c[i];}
return 0;
}
int power(int v[],int n)
{
int i,j,len2,v2[N]={0};
for(i=0;i<N;i++)
v2[i]=v[i];
for(i=0;i<n-1;i++)
{
time(v,v2);
}
return 0;
}
int main()
{
char m[100]={0};
int i,n,len,j,v[N]={0},mid,res[N+1]={0};
while(scanf("%s %d",&m,&n)!=EOF)
{
len=strlen(m);
for(i=0,j=0;i<len;i++)
{
if(m[len-i-1]=='.') {mid=i;continue;}
v[j]=m[len-i-1]-48;
j++;
}
mid*=n;
power(v,n);
for(i=0,j=0;i<N;i++)
{
if(i==(mid)) res[j++]=(-1);
res[j++]=v[i];
}
for(i=N-1;i>=0;i--) if(res[i]!=0) break;
for(j=0;j<N-1;j++) if(res[j]!=0) break;
for(;i>=j;i--)
{
if(res[i]<0)
{
if(i!=j) printf(".");
}
else printf("%d",res[i]);
}
printf("\n");
memset(v,0,sizeof(v));
memset(res,0,sizeof(res));
memset(m,0,sizeof(m));
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator