C++问题 看看哪里错啦

来源:百度知道 编辑:UC知道 时间:2024/05/06 00:06:49
给两个正整数a,b(1<=a,b<=10^100),求a和b的最小公倍数
Input
仅一行,包含两个正整数a和b,中间以一个空格隔开
Output
仅一行,为a,b的最小公倍数
Sample Input
123 321
Sample Output
13161

#include<stdio.h>
int main(void)
{
int a,b,c,d,r;
scanf("%d %d",&a,&b);
c=a*b;
while (a%b!=0)
{
r=a%b;
a=b;
b=r;
}
d=c/b;
printf("%d",d);
}
用long也不行,但听说好像可以用数据结构中可以定义这样的数,谁知道啊

不要说long,改成long long也不行

知道10^100是多大?就是1后面跟100个零

算法没有错误,只是变量定义的问题,变量表示范围的问题 int 改成long

算法没有错误啊,运行也可以执行

scanf("%d %d",&a,&b);
这里有问题~~~~~
去掉&