Java教程

不一样的文章

本文主要是介绍不一样的文章,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

懒得打开头语,想睡觉;

题目描述

输入两个正整数 x_0, y_0x0​,y0​,求出满足下列条件的 P, QP,Q 的个数:

  1. P,QP,Q 是正整数。

  2. 要求 P, QP,Q 以 x_0x0​ 为最大公约数,以 y_0y0​ 为最小公倍数。

试求:满足条件的所有可能的 P, QP,Q 的个数。

输入格式

一行两个正整数 x_0, y_0x0​,y0​。

输出格式

一行一个数,表示求出满足条件的 P, QP,Q 的个数。

输入输出样例

输入 #1复制

3 60

输出 #1复制

4

说明/提示

P,QP,Q 有 44 种:

  1. 3, 603,60。
  2. 15, 1215,12。
  3. 12, 1512,15。
  4. 60, 360,3。

对于 100\%100% 的数据,2 \le x_0, y_0 \le {10}^52≤x0​,y0​≤105。

【题目来源】

NOIP 2001 普及组第二题

#include<bits/stdc++.h>
using namespace std;
int m,n,ans;
int main(){
	cin>>m>>n;
	if(m==n)ans--;
	n*=m;
	for(int i=1;i<=sqrt(n);i++){
		if(n%i==0&&__gcd(i,n/i)==m) ans+=2;
	}
	cout<<ans;
	return 0;
}

可能会打错,毕竟我太困了;

晚安!

这篇关于不一样的文章的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!