新手求教。。
是个关于求最小公倍数的问题
我是这样写的#include<iostream>
using namespace std;
int main(){
long b=0;
int n =0;
for(int i,j;cin>>i>>j;b+=i*j){
int k=0;
if(i>j){
while(j!=0){
k=i%j;
i=j;
j=k;
n=i;}
cout<<b/n<<endl;
}
else{
while(i!=0){
k=j%i;
j=i;
i=k;
n=j;}
cout<<b/j<<endl;}
}
}
但是输出结果总为0啊 。。 求大虾指导哪里错了。。
[解决办法]
b一开始是0,而一直循环到i或者j等于0的时候,才会执行b+=i*j这句,所以b就一直是0,所以cout<<b/j<<endl;输出的时候也是0啊。。。
[解决办法]
for(int i,j;cin>>i>>j;b+=i*j)
第一次不会运行 b+=i*j;
后面你每次int k=0;j=k;即j=0; b+=i*j 也为0,b/n 也为0
建议……
for(int i,j;cin>>i>>j,b+=i*j;)