问题标题: 酷町堂:3876 0分代码

0
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
汪恺恒
汪恺恒
中级启示者
中级启示者

gcd函数这样写

long long gcd(long long x,long long y){
    while(x%y!=0){
        int r=x%y;
        x=y;
        y=r;
    } 
    return y;
} 

记住,所有变量都要用long long定义!

我要回答