90tps,测试点3WA,求助
查看原帖
90tps,测试点3WA,求助
1338287
YaemikooO3楼主2024/5/3 11:04
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll res,p,q;
ll gcd (ll a,ll b){
	if(b==0) return a;
	return gcd(b,a%b);
}
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	ll x,y;cin>>x>>y;
	ll t=x*y;
	p=x;
	while(p*p <=t){
		if(p*p==t) res--;//恰为完全平方数 
		q=t/p;
		if(p*q==t)//确定了p和q确实是正整数 
			if(gcd(q,p)==x) res+=2;
		p+=x;//保证x是他的因数
	}
	cout<<res;
	return 0;
}

这可真是怪事,只有我是这样吗,我看大伙代码都不判q是不是正整数来着.....

2024/5/3 11:04
加载中...