社区讨论
蒟蒻写的高精度最后一个点wa了
P1303A*B Problem参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo1mnc9i
- 此快照首次捕获于
- 2023/10/22 23:32 2 年前
- 此快照最后确认于
- 2023/11/03 00:16 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N = 2010;
char s1[N] , s2[N] , op[N];
int a[N] , b[N] , c[N];
void change(char *s , int num[])
{
int len = strlen(s);
for (int i = 0 ; i < len ; i++)
{
num[len - 1 - i] = s[i] - '0';
}
}
void jian(int a[] , int b[] , int c[])
{
int jie = 0;
for (int i = 0 ; i < N - 1 ; i++)
{
if (jie)
{
c[i] = a[i] - b[i] - 1;
jie = 0;
}
else
{
c[i] = a[i] - b[i];
}
if (c[i] < 0)
{
c[i] += 10;
jie = 1;
}
}
}
void print(int num[])
{
int len = N - 1;
while (len >= 1 && num[len] == 0)
{
len--;
}
for (int i = len ; i >= 0 ; i--)
{
printf("%d" , num[i]);
}
}
bool xiao(char *s , char *t)
{
int len1 = strlen(s);
int len2 = strlen(t);
if (len1 != len2)
{
return len1 < len2;
}
for (int i = 0 ; i < len1 ; i++)
{
if (s[i] != t[i])
{
return s[i] < t[i];
}
}
return false;
}
int main()
{
scanf("%s%s" , s1 , s2);
change(s1 , a);
change(s2 , b);
for (int i = 0 ; s1[i] ; i++)
{
for (int j = 0 ; s2[j] ; j++)
{
c[i + j] += a[i] * b[j];
}
}
for (int i = 0 ; i < N - 1 ; i++)
{
c[i + 1] += c[i] / 10;
c[i] %= 10;
}
print(c);
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...