-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1001.cpp
More file actions
72 lines (72 loc) · 1 KB
/
1001.cpp
File metadata and controls
72 lines (72 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
using namespace std;
void js(char *t1,char *t2,int a);
int main(){
char t1[125];
char t2[125];
char s[7];
int n;
int a;
int i,m,xs,j;
char c;
while(cin>>s>>n){
a=0;
xs=j=0;
memset(t1,-1,125);
for(i=5;s[i]=='0';i--);
m=i;
int t=0;
while(i>=0){
if(s[i]!='.')t1[t++]=s[i]-'0';
else xs=j;
if(s[m-i]!='.')a=a*10+s[m-i]-'0';
i--;j++;
}
m=n;
for(;m>1;m--){
js(t1,t2,a);
memcpy(t1,t2,125);
}
for(i=124;t1[i]==-1;i--);
if(i+1<=n*xs){
cout<<'.';
for(j=1;j<=n*xs-i-1;j++)cout<<0;
}else {
while(i>=n*xs){
c=t1[i--]+'0';
cout<<c;
}
if(n*xs!=0)cout<<'.';
}
while(i>=0){
c=t1[i--]+'0';
cout<<c;
}
cout<<endl;
}
return 0;
}
void js(char *t1,char *t2,int a){
int i,j;
long t;
int m,c;
memset(t2,0,125);
i=j=0;
while(t1[i]!=-1){
t=t1[i]*a;
c=j;
while(t!=0){
m=t%10;
t=t/10;
t2[c++]+=m;
}
j++;i++;
}
i=0;
while(i<124){
t2[i+1]+=t2[i]/10;
t2[i]=t2[i]%10;
i++;
}
for(i=124;t2[i]==0;i--)t2[i]=-1;
}