PTA 7-10 大数的乘法(10 分)

简介: PTA 7-10 大数的乘法(10 分)

输入一个大正整数和一个非负整数,求它们的积。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入 1 个大正整数 A(位数不会超过 1000)和一 个非负整数 B(int 范围)。

输出格式: 对于每组测试,输出 A 与 B 的乘积。

输入样例:

1 1

123 100

12345678910 8

123456789101234567891012345678910 7 123

0

输出样例: 1

12300

98765431280

86419752370864

1975237086419752370

0

说明:原题的 B 是一位数,本题修改为 int 范围内的整数

#include <stdio.h>
#include <string.h>
int main()
{
 char s1[1011];
 char s2[1011];
 int jin,x,i,n=0;
while((scanf("%s%d",s1,&x))!=EOF) 
{ 
 if(x!=0)
{ while(s1[n++]!='\0')
 {
 jin=0;
for(i=strlen(s1)-1;i>=0;i--)
{
s2[i]=((s1[i]-'0')*x+jin)%10+'0';
 jin=((s1[i]-'0')*x+jin)/10;
}
}
if(jin!=0)
printf("%d",jin);
for(i=0;i<strlen(s1);i++)
printf("%c",s2[i]);
printf("\n");
}
 else printf("0");
}
return 0
}
相关文章
|
21天前
|
算法 测试技术 C#
【数学】【数论】【最大公约数】1819. 序列中不同最大公约数的数目
【数学】【数论】【最大公约数】1819. 序列中不同最大公约数的数目
|
3月前
|
C++
【PTA】​ L1-080 乘法口诀数列​(C++)
【PTA】​ L1-080 乘法口诀数列​(C++)
48 0
【PTA】​ L1-080 乘法口诀数列​(C++)
|
5月前
【每日一题Day350】LC2652倍数求和 | 数学+容斥原理
【每日一题Day350】LC2652倍数求和 | 数学+容斥原理
23 0
|
5月前
|
存储 C++
[C++/PTA] 矩阵的乘法运算
[C++/PTA] 矩阵的乘法运算
68 0
|
11月前
PTA 7-5 素数排位(10 分)
PTA 7-5 素数排位(10 分)
|
机器学习/深度学习 编解码 算法
RSA大作业 实现了 1.加、减、乘、除、移位、幂取模的高精度算法 2.利用快速幂和牛顿迭代法加速取模运算 3.中国剩余定理 4.Miller Rabin检测
RSA大作业 实现了 1.加、减、乘、除、移位、幂取模的高精度算法 2.利用快速幂和牛顿迭代法加速取模运算 3.中国剩余定理 4.Miller Rabin检测
161 0
RSA大作业 实现了 1.加、减、乘、除、移位、幂取模的高精度算法 2.利用快速幂和牛顿迭代法加速取模运算 3.中国剩余定理 4.Miller Rabin检测
PTA 1034 有理数四则运算 (20 分)
本题要求编写程序,计算 2 个有理数的和、差、积、商。
84 0
PTA 7-4 素数等差数列 (20 分)
2004 年,陶哲轩(Terence Tao)和本·格林(Ben Green)证明了:对于任意大的 n,均存在 n 项全由素数组成的等差数列。
74 0
PTA 7-4 最近的斐波那契数 (20 分)
斐波那契数列 F n ​ 的定义为:对 n≥0 有 F n+2 ​ =F n+1 ​ +F n ​ ,初始值为 F 0 ​ =0 和 F 1 ​ =1。
67 0
PTA 1056 组合数的和 (15 分)
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。
90 0