2014蓝桥杯C语言第六题 --回溯算法解决
来源:互联网 发布:捷易通软件 编辑:程序博客网 时间:2024/05/16 04:09
/*上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出所有不同算式的个数(包括题中举例的)。 显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。 但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。*/#include "stdio.h"#include "stdlib.h"#include "math.h"#define exp 10e-10 void main(){ int s = 0; int a[5] , i ,k ; i = 1,a[1] = 1 ; while(1){ int g = 1; double z = 0 , f = 0 , r = 0; if(i == 4 && g == 1 && ( a[1] != a[2] || a[3] != a[4] )){ z = a[1] * 1.0 / a[2]; f = a[3] * 1.0 / a[4]; r = ( a[1]*10 + a[3] )*1.0/( a[2] * 10 + a[4]); //满足条件输出 if( fabs(z*1.0 * f - r) < exp){ s++; //printf("%d / %d * %d / %d = %d%d/%d%d\n",a[1],a[2],a[3],a[4], a[1],a[3],a[2],a[4]); } } if( i < 4 && g ==1){ i++ ; a[i] = 1; continue; } while(a[i] == 9 && i>1) i --; if(a[i] == 9 && i == 1) break; else a[i]++; } printf("content : %d\n", s); }
0 0
- 2014蓝桥杯C语言第六题 --回溯算法解决
- C语言链栈以及回溯算法解决迷宫问题
- 回溯算法解迷宫问题(C语言)
- 回溯算法解迷宫问题(C语言)
- 回溯算法----C语言 迷宫问题
- 组合算法(C语言+回溯)
- C语言算法之回溯法
- C语言算法,八皇后问题,回溯算法
- C语言用回溯解决八皇后问题
- C语言 递归(回溯) 解决数独问题
- C#WPF实现回溯算法解决八皇后问题
- C语言重解经典回溯算法案例-迷宫问题
- 基本算法——第六单元 回溯
- 算法第六周——回溯
- 回溯算法解决数独
- 回溯算法解决迷宫问题
- 第六届蓝桥杯C/C++B组第七题 牌型种数(回溯)
- C语言第六天
- 网络协议分层---入门一
- java之迷你浏览器
- dnw下载文件时can not open /dev/secbulk0的解决方法
- Android Service完全解析,关于服务你所需知道的一切
- 时间日期类
- 2014蓝桥杯C语言第六题 --回溯算法解决
- 网络协议分层--入门二
- OpenGL之路(八)添加光照效果和键盘控制
- 搜酷——全球智能硬件与技术精华集(全彩)
- ireport 启动错误cannot find java.exe
- 地址重定位:静态重定位和动态重定位
- servlet知识点,getId(),getValue()和getAttribute()区别?
- 怎样在Eclipse关联JDK源代码?
- MKNetworkKit框架入门及简单用法