求助,和题解和教材上错在哪?
查看原帖
求助,和题解和教材上错在哪?
119643
潜水的蒟蒻楼主2020/8/1 14:11

我的代码

#pragma GCC optimize(3,"Ofast","inline")//日常优化
#include<bits/stdc++.h>//标准头文件
using namespace std;//必要格式
int gcd(int a,int b);
int main()//烤main包
{
 	//ios::sync_with_stdio(false);//加快速度
	int x,y,s=0;cin>>x>>y;
	for(int i=x;i<=y;i++)
	{
		int j=x*y/i;
		if(i*j/gcd(i,j)==y&&gcd(i,j)==x)s++;
	}
	cout<<s;
	return 0;//祈祷AC
}
int gcd(int a,int b)
{
	if(b==0)return a;
	else return gcd(b,b%a);
}

题解代码

#include<iostream>
#include<algorithm>
using namespace std;
int gcd(int n,int m)
{
    if(n%m==0) return m;
    else return gcd(m,n%m);
}
int n,m,s;
int main()
{
	cin>>n>>m;
	for(int i=n;i<=m;i++)
	{
		int j=n*m/i;
		if(gcd(i,j)==n&&i*j/gcd(i,j)==m) s++;
	}
	cout<<s;
	return 0;
}

然后我看我的代码和题解代码的区别好像只有gcd函数,但是我就是照着一本通提高篇上面(第二版P385)的代码打的,请问我错在哪?

2020/8/1 14:11
加载中...