【♂Not The Triumph♂O(∩_∩)O哈哈~But The Struggle♂】

竞赛决不是捷径,它只是另一种艰辛的生活方式。得到与失去,只有时间会去评判;成功与失败,只有历史能去仲裁。我不会永远成功,正如我不会永远失败一样

  C++博客 :: 首页 :: 联系 ::  :: 管理
  6 Posts :: 239 Stories :: 25 Comments :: 0 Trackbacks

常用链接

留言簿(7)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 104665
  • 排名 - 233

最新评论

阅读排行榜

评论排行榜

[问题描述]
输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P、Q的个数。
条件:1.P、Q是正整数
二要求P、Q以xO为最大公约数,以yO为最小公倍数。
试求,满足条件的所有可能的两个正整数的个数。
[样例]
输入:x0=3       y0=60
输出:4
说明:(不用输出)此时的
P   Q分别为,
3   60
15   12
12   15
60   3
所以,满足条件的所有可能的两个正整数的个数共4种。

【参考程序】:
#include<cstring>
#include
<cstdio>
#include
<iostream>
using namespace std;

int y,x,ans;
int main()
{
    freopen(
"gygb.in","r",stdin);
    freopen(
"gygb.out","w",stdout);
    scanf(
"%d%d",&x,&y);
    
if (y%x!=0)
    {
        printf(
"0\n"); exit(0);
    }
    
int p,k,s;
    p
=y/x; k=0; s=2;
    
while (p>1)
    {
        
if (p%s==0)
        {
            k
++;
            
while (p%s==0) p/=s;
        }
        s
++;
    }
    ans
=1;
    
for (int i=1;i<=k;i++) ans*=2;
    printf(
"%d\n",ans);
    
return 0;
}
posted on 2009-08-26 15:26 开拓者 阅读(649) 评论(1)  编辑 收藏 引用 所属分类: NOIP历届题目

Feedback

# re: 【NOIP 2001 最大公约数与最小公倍数问题】 2011-07-13 19:06 54
太复杂了。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理