C++解决Hanks趣味问题
Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0,a1,b0,b1,设某未知正整数x满足:1、 x和a0的最大公约数是a1;2、 x和b0的最小公倍数是b1。Hankson的“逆问题”就是求出满足条件的正整数x。但稍加思索之后,他发现这样的x并不唯一,甚至可能不存在。因此他转而开始考虑如何求解满足条件的x的个数。请你帮助他编程求解这个问题。输入格式 输入第一行为一个正整数n,表示有n组输入数据。接下来的n行每行一组输入数据,为四个正整数a0,a1,b0,b1,每两个整数之间用一个空格隔开。输入数据保证a0能被a1整除,b1能被b0整除。输出格式输出共n行。每组输入数据的输出结果占一行,为一个整数。对于每组数据:若不存在这样的x,请输出0;若存在这样的x,请输出满足条件的x的个数;样例输入2 41 1 96 288 95 1 37 1776样例输出6 2。
程序实现:
//Hanks趣味问题
//WANTING WANG
//2019.03
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int a0,a1,b0,b1;short n,ans;
inline int gcd(int a,int b){return !b?a:gcd(b,a%b);}
inline int t()
{char ch=getchar();int k=0;while(ch<'0'||ch>'9') ch=getchar();while(ch<='9'&&ch>='0') k=k*10+ch-'0',ch=getchar();return k;
}
inline void P( int n)
{if(n>9) P(n/10);putchar(n%10+'0');return ;
}
int main()
{n=t();while(n--){a0=t();a1=t();b0=t();b1=t();ans=0;for(int i=1;i<=sqrt(b1);i++){if(b1%i==0){if(i%a1==0&&gcd(i/a1,a0/a1)==1&&gcd(b1/i,b1/b0)==1) ans++;}int ii=b1/i;if(b1%ii==0&&ii!=i&&ii%a1==0&&gcd(ii/a1,a0/a1)==1&&gcd(b1/ii,b1/b0)==1) ans++;}P(ans);putchar('\n');}return 0;
}
调试:
测试:
C++解决Hanks趣味问题相关推荐
- c++趣味小程序_工具类小程序10天增长103万全复盘
本文目录: 一.100万小程序用户意味着什么 二.为什么要选择春节期间做增长 三."己亥计划"全复盘 四.活动总结及可复用经验 一.100万小程序用户意味着什么 或许对于很多公司的 ...
- “三门问题”背后的概率论原理解析
前段时间我在知乎上看到这么一个问题:假设你在参加一个抽奖游戏,主持人在三个小碗分下面放了 1 块钱.1 块钱和 10000 块钱的筹码.你选中哪一个,你就可以领到对应的钱.当你选定一个碗之后,主持人翻 ...
- 华硕猛禽1080ti_F-22猛禽动力回路的视频分析
华硕猛禽1080ti The F-22 Raptor has vectored thrust. This means that the engines don't just push towards ...
- javaEE面试重点
Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation ...
- 利用计算机解决古代数学问题鸡兔同笼,古代趣味数学:鸡兔同笼的4种算法,你都能看懂吗?...
鸡兔同笼是中国古代的数学名题之一,出自<孙子算经>.书中是这样叙述的:"今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?"这四句话的意思是:有若干只鸡兔同在一个 ...
- 07【C语言 趣味算法】最佳存款方案(采用 从后往前 递推解决)
目录 一.前情回顾 二.Problem:最佳存款方案 2.1 Description of the problem 2.2 Analysis of the problem 2.3 Algorithm ...
- Python3趣味系列题1------回溯暴力解决数独问题
数独问题大家都很熟悉,很喜欢挑战.但解决此问题极其需要耐心和逻辑,正因为此,解决完才会享受到那种成就感的乐趣.本文利用Python3 解决数独问题,虽然过程不一样,但结果还是会让人感受一样的乐趣. 一 ...
- 19【C趣味算法 却是用Python解决】国王的失算(数量级太大Dev-C++中无法得出结果),考虑用Python实现
这道题是一个较为简单的问题(但是还是挺经典的哈!),因此若是不感兴趣的朋友可以忽略哦~ Contents 一.Review 二.New Problem 2.1 Description of the p ...
- 转 中国人思维的五大逻辑缺陷,BBC用一部趣味纪录片给解决了
https://finance.sina.com.cn/money/future/fmnews/2019-02-10/doc-ihqfskcp4004492.shtml 原文在链接里,不懂集合概念和二 ...
最新文章
- 看一眼凌晨四点的哈佛,就会明白中国缺什么
- Dubbo 源码分析 - 集群容错之 LoadBalance
- media player怎么不能拖进度图mp4_榜样力量丨科研路上有难题,学长教你怎么解
- hdu1251(trie树)
- String类型转换的三种方法分析
- openstack单元測试用组件一览
- 自学python能干什么-python能干啥
- MongoDB(芒果数据库)学习(准备)———环境及图形化工具安装
- Python实现Hart协议
- pert图java_项目管理之甘特图和工程网络图(PERT图)(一)
- python结合mysql 购物管理系统
- react项目 上线配置流程
- oracle升序和降序同时存在,oracle升序排序 oracle升序和降序
- 如何在IDM中设置代理服务器
- html在搜索按钮中加放大镜,CSS3 搜索按钮动效 - 放大镜图标变叉叉
- 外贸邮箱能群发吗?用哪个外贸邮箱发开发信回复率高?
- 计算机32位如何变成64位,我电脑是32位的
- Redis(1)入门指令
- html map插件,jQuery谷歌地图插件maplace.js
- 数据结构知识点总结整理