(Hankson的逆问题)
标题@[TOC]
(Hankson的逆问题)
一、题目名称: Hankson的逆问题
二、题目内容: 已知正整数a0,a1,b0,b1,设某未知正整数x满足:1.x和a0的最大公因数是a1,x和b0的最小公倍数是b1. Hankson的逆问题就是求出满足条件的数的个数。
三、算法设计:
1.首先设计求最大公因数和最小公倍数的算法
1.1.利用辗转相除法求两个数的最大公因数
前提:设两数为a,b设其中a 做被除数,b做除数,temp为余数
1.1.1大数放a中、小数放b中;
1.1.2求a/b的余数;
1.1.3若temp=0则b为最大公约数;
1.1.4如果temp!=0则把b的值给a、temp的值给a;
1.1.5返回第二步;
1.2求最小公倍数
两数相乘除以最大公因数即为最小公倍数
2.对于求x的个数
用枚举法,枚举从a1-b1的数,如果这个数同时满足1.x和a0的最大公因数是a1,x和b0的最小公倍数是b1.用count统计x的个数。
附上代码:
#include<iostream>
using namespace std;
int yinshu(int a,int b)
{int temp; //定义整型变量if(a<b) //通过比较求出两个数中的最大值和最小值{ temp=a;a=b;b=temp;} //设置中间变量进行两数交换while(b!=0) //通过循环求两数的余数,直到余数为0{temp=a%b;a=b; //变量数值交换b=temp;}return a;
}
int beishu(int a,int b)
{//return a*b/yinshu(a,b);int temp;temp=yinshu(a,b); //再次调用自定义函数,求出最大公约数return (a*b/temp);
}
int qiux(int ai,int aj,int bi,int bj)//计算满足条件的x的个数
{int count=0;//x的值 for(int i=aj;i<=bj;i++)//枚举不小于其最大公因数到不大于最大公倍数的数 {if(yinshu(i,ai)==aj)//满足x,a0的最大公因数为a1 {if(beishu(i,bi)==bj)//满足x,b0的最小公倍数为b1 count++;//x值加一 } }return count;//返回x的值
}
int main()
{int times;//需要计算的数据组数 cout<<"请输入需要计算的数据组数:"<<endl;cin>>times;// 输入需要计算的数据组数int a0[times],a1[times],b0[times],b1[times];cout<<"请依次输入数据,每一组以空格隔开,以回车结束"<<endl;for(int i=0;i<times;i++)//依次输入 {cin>>a0[i]>>a1[i]>>b0[i]>>b1[i];if((a0[i]<a1[i])||(b0[i]>b1[i])||(a0[i]%a1[i]!=0)||(b1[i]%b0[i]!=0))//对数据进行正确性判断 {cout<<"输入有误,每一组数第一个数要能被第二个数整除,第四个数要能被第三个数整除!请重新输入:";cin>>a0[i]>>a1[i]>>b0[i]>>b1[i];//重新输入 }}for(int i=0;i<times;i++)cout<<qiux(a0[i],a1[i],b0[i],b1[i])<<endl;//输出结果 return 0;
}
运行结果:
(Hankson的逆问题)相关推荐
- CODEVS 1172 Hankson 的趣味题
题目描述 Description Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现 在,刚刚放学回家的Hankson 正在思考一个有趣的问题. 今 ...
- d778: NOIP2009 2.Hankson的趣味题
内容 : Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课 ...
- [NOIp 2009]Hankson的趣味题
Description Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课 ...
- 蓝桥杯 ALGO-37 算法训练 Hankson的趣味题
问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现 在,刚刚放学回家的Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解了如 ...
- P1072 [NOIP2009 提高组] Hankson 的趣味题
题目描述 Hanks 博士是 BT(Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解了 ...
- 约数——Hankson的趣味题
Hankson的趣味题 Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson. 现在,刚刚放学回家的Hankson正在思考一个有趣的问题. 今天在课堂上,老师讲 ...
- java蓝桥杯练习 Hankson的趣味题
java蓝桥杯练习 Hankson的趣味题 资源限制 时间限制:1.0s 内存限制:64.0MB 问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hank ...
- LG. Hankson 的趣味题,C语言
[题目描述] Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson正在思考一个有趣的问题. 今天在课堂上,老师讲解了如何求两 ...
- 【noip】HankSon的趣味题
描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现 在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解了 ...
最新文章
- 西数举债千亿收购闪迪 到底图了个啥?
- NOIP信息奥赛--1995“同创杯”初中复赛题题解(四)
- UIKit封装的系统动画
- 探讨 .NET 4 新增的 SortedSet 类
- DBUtils结果集处理
- php删除表格命令,数据表格-删除
- 20200119:(leetcode)回文数(3种解法)
- Android购物商城项目
- 国家制图标准适用于手工制图和计算机制图,机械制图国家标准与计算机绘图
- 蓝牙耳机出口欧盟要做什么CE的哪些指令?
- 联想微型计算机怎么连接电源,终于认识联想电脑主板与机箱电源安装方法
- Anaconda中spyder5闪退如何解决
- 推荐大家一部好电影:当幸福来敲门
- ZooKeeper作为注册中心
- 树链剖分 --算法竞赛专题解析(30)
- Python 自动化办公-玩转 Word
- Razor 一知半解
- 俄罗斯、乌克兰程序员薪资大曝光!
- 开启人工智能教育结合的未来模式
- PTA 2-1 旅游规划(最短路径问题)简单floyd算法
热门文章
- svg 动画_30个很棒的SVG动画
- 中国节水灌溉设备产业运行分析与投资前景规划报告2022年版
- HFSS 微带线验证和仿真
- 魅族的云相册能克隆到华为手机吗_魅族云服务如何导出导入 换手机flyme云导出相册...
- 【\u20a 错误解决】
- Bellman-Ford与spfa算法
- 3年级计算机的知识能力,三年级信息技术教案资料三篇
- 千古奇才---埃舍尔
- 已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。
- wordpress插件_如何使用适用于WordPress的长格式Storybuilder插件