hdu 1753 (정밀도 계산)
2022 단어 HDU
#include<stdio.h>
#include<string.h>
char s[402],t[402],c[402];
int a[402];
int main()
{
int i,j,k,d,b,n,m,f,w1,w2;
while(scanf("%s %s",s,t)>0)
{
n=strlen(s);
m=strlen(t);
w1=w2=0;
for(i=0;i<n;i++)
if(s[i]!='.')
if(s[i]!='0')
w1=1;
for(j=0;j<m;j++)
if(t[j]!='.')
if(t[j]!='0')
w2=1;
if(w1==0&&w2==0)
printf("0");
else
{
for(i=0;s[i]!='\0'&&s[i]!='.';i++);
for(j=0;t[j]!='\0'&&t[j]!='.';j++);
if(i==n)
{
s[i]='.';
s[i+1]='0';
n+=2;
s[n]='\0';
}
if(j==m)
{
t[j]='.';
t[j+1]='0';
m+=2;
t[m]='\0';
}
d=i;
b=j;
k=0;
while(1)
{
d--;
b--;
if(d<0)
break;
if(b<0)
break;
c[k++]=s[d]+t[b];
}
if(d>=0)
while(d>=0)
c[k++]=s[d--];
if(b>=0)
while(b>=0)
c[k++]=t[b--];
k--;
for(f=0;k>=0;k--,f++)
if(c[k]>57)
a[f]=c[k]-48*2;
else
a[f]=c[k]-48;
a[f++]=-32767;
while(1)
{
i++;
j++;
if(i==n)
break;
if(j==m)
break;
a[f++]=s[i]+t[j]-2*48;
}
if(i<n)
while(i<n)
a[f++]=s[i++]-48;
if(j<m)
while(j<m)
a[f++]=t[j++]-48;
for(i=f-1;i>0;i--)
if(a[i]>0)
if(a[i]/10>0)
{
if(a[i-1]>=0)
a[i-1]+=a[i]/10;
else
a[i-2]+=a[i]/10;
a[i]=a[i]%10;
}
for(j=f-1;j>=0;j--)
if(a[j]<0)
{
j--;
break;
}
else
if(a[j]!=0)
break;
for(i=0;i<=j;i++)
if(a[i]<0)
printf(".");
else
printf("%d",a[i]);
}
printf("
");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[HDU] 4089 활성화 확률 DPdp[i][j]를 모두 i개인의 대기열인 Tomato가 j위 서버가 마비될 확률로 역추를 사용하면 우리는 상태 이동 방정식을 얻을 수 있다. i == 1 : dp[1][1] = dp[1][1] * p1 + dp[1]...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.