蓝桥杯之桥本分数式(全排列函数应用)
描述
日本数学家桥本吉彦教授于1973年10月在我国山东举行的中日美三国数学教育研讨会上向与会者提出以下填数趣题:
把1,2, . . . 9这9个数填入下列算式的9个方格中(数字不得重复),使下列等式成立。
口 口 口———— + ———— = —————口口 口口 口口
桥本教授当即给出了一个解答,这一填数趣题的解是否唯一?如果不唯一究竟有多少个解?
试求出所有解答(等式左边两边分数交换次序只算一个解答)
分析
因为从1-9这9个数不能重复,那么我们便可以用全排列算出所有的情况,进而进行判断如果符合分数等式便输出。
首先我们定义一个数组a[10]来存放1-9这九个数,算式中一共有九个空,所以给每个空都附上数组的下标,如图所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-22EHYn29-1586243058466)(/images/桥本.png)]
然后用全排列函数next_permutation()进行全排列
另外需要注意题目中说等式左边两边分数交换次序只算一个解答,因而我们还需限制一下条件,等式左边的两个分数的分子a[1]和a[4]中要么a[1]大,要么a[4]大,易知只需要a[1]<a[4],这样的话就避开了等式左边两边分数交换次序只算一个解答的情况了
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int a[10];int m1,m2,m3;for(int i=1;i<=9;i++){a[i]=i;}do{if(a[1]<a[4]){m1=a[2]*10+a[3];m2=a[5]*10+a[6];m3=a[8]*10+a[9];if(a[1]*m2*m3+a[4]*m1*m3==a[7]*m1*m2){for(int i=1;i<=9;i++)cout<<a[i]<<" ";cout<<endl; } }}while(next_permutation(a+1,a+10));
}
蓝桥杯之桥本分数式(全排列函数应用)相关推荐
- [蓝桥杯][算法提高VIP]排列式-全排列
题目描述 7254是一个不寻常的数,因为它可以表示为7254 = 39 x 186,这个式子中1~9每个数字正好出现一次 输出所有这样的不同的式子(乘数交换被认为是相同的式子) 结果小的先输出:结果相 ...
- 蓝桥杯_既约分数_java
既约分数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数. 例如3/4 ,1/8 ,7/1 , 都 ...
- 蓝桥杯 ADV-108算法提高 分数统计
问题描述 2016.4.5已更新此题,此前的程序需要重新提交. 问题描述 给定一个百分制成绩T,将其划分为如下五个等级之一: 90~100为A,80~89为B,70~79为C,60~69为D,0~59 ...
- 2018蓝桥杯A组:分数(3种方法 循环累称 快速幂运算 移位运算)
一.题目:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前2项而 ...
- 第十一届蓝桥杯大学B----既约分数
题目二: 如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数.例如,3/4,5/2,1/8,7/1都是既约分数.请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和20 ...
- c语言蓝桥杯。既约分数
如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数.例如,3/4,5/2,1/8,7/1都是既约分数.请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和2020) #i ...
- Java实现 蓝桥杯VIP 算法提高 分数统计
算法提高 分数统计 时间限制:1.0s 内存限制:512.0MB 问题描述 2016.4.5已更新此题,此前的程序需要重新提交. 问题描述 给定一个百分制成绩T,将其划分为如下五个等级之一: 9010 ...
- 2018蓝桥杯省赛---java---A---1(分数)
题目描述 思路分析 方案一 等比数列,再进行约分 方案二 求和 约分:辗转相除法求最大公约数 package TEST;class Main{static int GCD(int x,int y){/ ...
- c语言成绩存储的算法思想,[蓝桥杯][算法提高VIP]分数统计 (C语言代码)。。。。。还算简单,但是看错数字,导致开的内存不够。。。浪费了半个多小时。...
解题思路:按题目,存储,比较再排序 注意事项:一定要看清楚输入的成绩个数是1000以内!!!!成绩范围才是一百以内. 参考代码: #include int main() { int n,i,k,t; ...
- 蓝桥杯 ADV-227 算法提高 11-1实现strcmp函数
问题描述 自己实现一个比较字符串大小的函数,也即实现strcmp函数.函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2.若s1与s2相等返回 ...
最新文章
- 北大校友“炼丹”分享:OpenAI如何训练千亿级模型?
- 接口文档-swagger-bootstrap
- 图解MySQL索引:B-树(B+树)
- Hibernate提供的内置标识符生成器
- ASP.NET MVC 2.0
- 客户端登录提示找不到表0
- 前端微信小程序实战篇
- MaxCompute印尼开服,成为阿里云第十二个大数据服务节点
- Linux笔记-给Linux配置DNS
- vue新增属性是否会响应式更新?
- redis的linux安装
- 浅谈localStorage、sessionStorage 与cookie
- 基于matlab的谱估计,基于MATLAB的功率谱估计实验.doc
- 目前为止最全的微信小程序项目实例
- 综合实践活动信息技术小学版第三册电子课本_摆事实,讲道理!电子商务讲师证报名入口和费用...
- C#:实现离散型马尔可夫链模型算法(附完整源码)
- 关于Pidgin和webqq
- html页面获取map的值,vue获取map集合中的key、value值
- wireshark详细图文入门教程
- STK开发包用法探讨
热门文章
- Leetcode力扣 MySQL数据库 1194 竞标赛优胜者
- 【保姆级教程,100%成功】MAC OS打开ntfs格式U盘
- 中医针灸学综合练习题库【10】
- MATLAB LibSVM安装——以MATLAB R2018B为例
- 想学python网课哪个好过_python入门:想学python网课哪个好?
- 02、PMI点互信息 PPMI(Positive PMI)
- 《CCNet:Criss-Cross Attention for Semantic Segmentation》论文笔记
- git报错以及解决方法
- drupal主题开发_开发人员降低了Drupal的进入门槛
- Python 爬取网易云评论