0
已解决
曹博扬
初级天翼
初级天翼
#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
long long a1,a2,b1,b2;
int gcd(int a,int b){
for(int i=a;i>=1;i--){
if(a%i==0&&b%i==0)
return i;
}
}
int main(){
cin>>a1>>a2>>b1>>b2;
int a=gcd(a2,b1);
int b=gcd(a1,b2);
a2/=a;
b1/=a;
b2/=b;
a1/=b;
long long x=a1*b1;
long long y=a2*b2;
if(x%y==0)
cout<<x/y;
else{
cout<<x/gcd(x,y)<<"/"<<y/gcd(x,y);
}
return 0;
}
快!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
曹博扬在2021-03-06 15:11:02追加了内容
#include<iostream>
#include<cmath>
using namespace std;
int a,b,c,d;
int f(int a,int b,int c){
int x=0;
for(int i=a;i<=21252;i+=23){
for(int j=b;j<=21252;j+=28){
for(int k=c;k<=21252;k+=33){
x++;
if(i==j&&i==k&&j==k)
return x;
}
}
}
}
int main(){
cin>>a>>b>>c>>d;
while(a!=-1){
int x=f(a,b,c)-d;
cout<<x<<endl;
cin>>a>>b>>c>>d;
}
return 0;
}
求找错!!!!!!!!!!!!!!!!!!!!!!!!!
0
已采纳
朱优扬
中级天翼
中级天翼
我表示看不懂你的代码……
Ther:
定义 a,b,c,d,x,y,r;//long long
输入a、b、c、d;
a*=c;
b*=d;
x=a;
y=b;
while(x除以y没有余数){
r=x%y;
x=y;
y=r;
}
如果(y是0)
输出a/b;
否则{
a/=y;
b/=y;
如果(a%b==0) cout<<a/b;
否则 cout<<a<<'/'<<b;
}
0
0