Hihocoder 1284 机会渺茫
http://hihocoder.com/problemset/problem/1284
时间限制:5000ms
单点时限:1000ms
内存限制:256MB
描述
小Hi最近在追求一名学数学的女生小Z。小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求:对于给定的两个正整数N和M,小Hi随机选取一个N的约数N',小Z随机选取一个M的约数M',如果N'和M'相等,她就答应小Hi。
小Z让小Hi去编写这个随机程序,到时候她review过没有问题了就可以抽签了。但是小Hi写着写着,却越来越觉得机会渺茫。那么问题来了,小Hi能够追到小Z的几率是多少呢?
输入
每个输入文件仅包含单组测试数据。
每组测试数据的第一行为两个正整数N和M,意义如前文所述。
对于40%的数据,满足1<=N,M<=106
对于100%的数据,满足1<=N,M<=1012
输出
对于每组测试数据,输出两个互质的正整数A和B(以A分之B表示小Hi能够追到小Z的几率)。
样例输入
3 2
样例输出
4 1
思路:仔细分析一下,会发现这道题是用欧几里得算法,然后求概率可用两个数公约数个数的乘积除以gcd(这两个数的
公约数个数乘积,这两个数的最大公约数)得出来第一项,两个数的最大公约数的约数除以gcd(这里面和前面一样)作为第
二项来代替,代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;
}
ll yueshu(ll n){ll sum=0;for(ll i=1;i*i<=n;i++){if(n%i==0)sum+=2;if(i*i==n)sum--;}return sum;
}
int main(){ll n,m;cin>>n>>m;ll ans=gcd(n,m);ll ang=yueshu(n);ll ant=yueshu(m);ll any=yueshu(ans);ll t=gcd(ang*ant,any);cout<<ang*ant/t<<" "<<any/t<<endl;return 0;
}
Hihocoder 1284 机会渺茫相关推荐
- [数论] 约数个数定理与约数和定理
约数个数定理 对于一个大于1正整数n可以分解质因数: 则n的正约数的个数就是 . 其中a1.a2.a3-ak是p1.p2.p3,-pk的指数. 约数定理证明 首先同上,n可以分解质因数:n=p1^ ...
- 中粮、益海品牌集中度提高,中小米企机会在高端细分市场
7115亿元的市场总规模,养活着超过10000万家的米企. 三四年前,面对这样的数据,说大米行业有品牌,一些企业家嗤之以鼻,觉得对于这样一个民生产业,不可能让少数企业占据绝大多数份额,大米无实质性领导 ...
- gan 总结 数据增强_白话GAN及其解决小样本问题的探讨
作者:知乎-Curry 地址:https://www.zhihu.com/people/curry-5-28 一:白话GAN 本文尽量用少量的公式,浅显的语言来描述生成对抗网络,让未接触过GAN的人可 ...
- 马斯克“做空”特斯拉
作者 | 王帅国 编辑 | 饶霞飞 来源 | 燃财经(ID:rancaijing) 又一次,马斯克自己"做空"了特斯拉. 9月23日凌晨,在特斯拉(TSLA.US)一年一度的&qu ...
- 平凡的80后 不平凡的人生路
平凡的80后 不平凡的人生路 狭义的80后是指80-89年出生的人. 广义的80后是指80年后出生的人. 我们读小学的时候,读大学不要钱:读大学的时候,读小学不要钱. 以前老师说学好数理化,走遍天下都 ...
- WP老杨解迷:开发生态两极化和榜单乱象
WP老杨解迷:开发生态两极化和榜单乱象 Windows Phone 自2013年的一片浪潮推动下,2014年终于开始引起了各大小CP们的注意,于是大量的产品开始乘风破浪一路涌进Windows Phon ...
- 【朋克智库】比特币详解2.0——比特币的沉沦
上一篇说到,比特币是跨时代的产物,区块链的第一个杀手级应用.并且详细介绍了比特币的内部机制和原理. 那么,为什么比特币还不能够完全承载人们对区块链发展的希望呢?为什么我们说比特币之于区块链,仅仅相当于 ...
- J.R.R.托尔金笔下的中土世界与《斗破苍穹》项目实践:从世界观解构入手场景设计
本期真经阁的特邀讲师将通过对<魔戒>与<霍比特人>这两部影视作品进行分析,为读者解构如何通过视觉上的表现设计来展现托尔金笔下的中土世界.并将其中讲述的方法应用在<斗破苍穹 ...
- 网易云的朋友给我这份339页的Android面经,满满干货指导
想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. 25%的面试官会在头5分钟内决定面试的结果 60%的面试官会在头15分钟内决定面试的结果 一 ...
最新文章
- CRC校验和芯片ID
- 《自然》《科学》相继发文批评质疑:俄罗斯注册新冠疫苗“让众人面临风险”...
- 职场10不要【来自网络】
- 在 Java CAPS 中使用 LDAP
- linux 修改docker配置文件,dockerfile动态修改服务配置文件(示例代码)
- 如何评判软件测试的效率,如何衡量测试效率,提高测试效率?
- JavaScript中的XMLHttpRequest对象
- Why Go Is Not Good
- BZOJ3083: 遥远的国度
- 2018-2019-2 20165206《网络对抗技术》Exp1 PC平台逆向破解
- 开发环境搭建与Hadoop的配置
- 每周分享第 39 期
- 2019安徽省程序设计竞赛 D自驾游 题解
- npm run serve stage1@0.1.0 serve vue-cli-service serve node:internal/modules/cjs/loader:936
- unity3d 挂载脚本_Unity3D 全局脚本
- 简析无线网络加密算法之CCMP加密算法
- android 西班牙语,Android新增语言的方法(墨西哥的西班牙语)
- Chrome浏览器配置阿里云DNS方法
- 中西方历史发展和根源
- python手机壁纸超清_python爬虫 爬取超清壁纸代码实例
热门文章
- 12月19日——培训第26天
- 微信小程序 使用页面栈 修改上一个页面的data数据
- 错误:‘x‘ is assigned a value but never used no-unused-vars
- icon font 网站推荐
- AD中同一网络的铺铜与导线不能连接到一起的解决方法
- [20][03][23] Cookie Security: Over Broad Path
- 用chrome dev tools 强制js注入
- iPad上有哪些好用的mysql_iPad上有哪些免费却很好用的app?
- Body的定义及其用法
- OpenAI居然能自动写论文?导师直言我都犯难了...