桥本分数式
来源:互联网 发布:mac伪装 编辑:程序博客网 时间:2024/04/29 10:07
日本数学家桥本吉彦教授于1993年10月在我国山东举行的中日美三国数学教育研讨会上提出以下填数趣题:把1,2,…,9这9个数字填入下式的9个方格中(数字不得重复),使下面分数等式成立:
桥本教授当即给出了一个解答。这一填数趣题的解是否唯一?如果不唯一究竟有多少个解?试求出所有解答 (等式左边两个分数交换次序只算一个解答)。
第一种方法:
#include <stdio.h>#include <math.h>#define M 9 int count=0;void print(int *num){printf(" %d %d %d\n",num[0],num[3],num[6]);printf("---- +---- =----\n");printf("%d%d %d%d %d%d\n\n",num[1],num[2],num[4],num[5],num[7],num[8]);}bool check(int *num){double left,right,result=0;left = num[0]*1.0/(num[1]*10.0+num[2]*1.0);right = num[3]*1.0/(num[4]*10.0+num[5]*1.0);result = num[6]*1.0/(num[7]*10.0+num[8]*1.0);if(fabs(left+right-result)<=1e-6&&num[0]<num[3]) //为避免重复,使用num[0]<num[3]{return true;}return false;}void reserve(int *num,int a){int i=0;int temp=0;if(a>=M-1){if(check(num)){count++;print(num);}return;}for(i=a;i<M;i++){temp = num[i];num[i] = num[a];num[a] = temp;reserve(num,a+1);temp = num[i];num[i] = num[a];num[a] = temp;}}int main(void){int num[M] = {1,2,3,4,5,6,7,8,9};reserve(num,0);printf("the count is:%d",count);return 0;}第二种方法:
#include <stdio.h>#include <math.h>#define M 10int count=0;void print(int *num){printf(" %d %d %d\n",num[1],num[4],num[7]);printf("---- +---- =----\n");printf("%d%d %d%d %d%d\n\n",num[2],num[3],num[5],num[6],num[8],num[9]);}bool check(int *num){double left,right,result=0;left = num[1]*1.0/(num[2]*10.0+num[3]*1.0);right = num[4]*1.0/(num[5]*10.0+num[6]*1.0);result = num[7]*1.0/(num[8]*10.0+num[9]*1.0);if(fabs(left+right-result)<=1e-6&&num[0]<num[3]){return true;}return false;}int main(void){int num[M] = {0};int g=1;int i=1,k=0;num[i] = 1;while(1){g = 1;for(k=i-1;k>=1;k--){if(num[k]==num[i]){g=0;// break;}}if(g&&i==9&&num[1]<num[4]){if(check(num)){count++;print(num);}}if(g&&i<9){i++;num[i]=1;continue;}while(num[i]==9&&i>1){i--;}if(num[i]==9&&i==1){break;}else{num[i]++;}}printf("the count is: %d",count);return 0;}
0 0
- 桥本分数式
- 桥本分数式
- 桥本分数式
- 桥本分数式--递归回溯
- 桥本分数式 回溯法
- 桥本分数式问题的C++算法
- 算法—回溯法桥本分数式
- 桥本分数式和深度优先搜索
- 桥本分数算式编程题
- 本分做人
- Microsoft .NET Framework 3.0 正式版本分发包
- 术业有专攻,尽好本分最重要
- 一个本分男人的烦恼,谁有这样的境遇?
- 柳传志:企业家的本分是把企业办好
- 读懂消费者背后:vivo的专注与本分
- OPPO举办2014全球供应商大会 陈明永再谈“本分”
- 合并其他分支的指定commits或者指定文件到本分支
- git rebase 使用[将其它分支合并到本分支]
- 链表题总结(以LeetCode为主)
- 切比雪夫逼近法设计FIR滤波器
- Ehcache 详细解读
- 我的软件工程课目标
- struts2 中jsp的9个内置对象、四种作用域、转发和重定向及在Action中获取session
- 桥本分数式
- http协议
- Android中Touch事件传递机制解析
- 红黑树
- 设计模式入门-模板模式
- SQL Server 如何创建服务器组
- 【学习】1.2 NES游戏软件的特点
- PAT-A 1038. Recover the Smallest Number (30)
- 我的软件工程课目标