一个简单的算法题
2007-02-28 16:47
344 查看
还没有从过节的情绪中恢复过来,最近都不想写代码,越来越懒了。不想写代码,就写文档吧,今天花了一个上午时间写好了我们公司应用中定义的一个应用层协议的文档,手都打软了。。。。
下午跑到CSDN去逛了哈,看到很多人在讨论这个算法: http://community.csdn.net/Expert/topic/5362/5362401.xml?temp=.5933344
求数值在 1 - 50 之内的任意5个数之和为100 。
数值:1,2,3,4,5,6....48,49,50
取其中的任意5个数,但这5个数相加之和要等于100,并将所有这种组合罗列
例: 1+10+19+20+50=100
3+14+16+27+40=100
不能有重复
大多数都是循环实现,我给出我的一个递归实现吧(GCC编译器,DEVCPP下编译通过,计算时间我没算,反正马上出结果,应该不到1秒):
1#include <conio.h>
2#include <stdlib.h>
3#include <stdio.h>
4#include <dos.h>
5
6
7#define NUM 5
8#define LOWER 1
9#define UPPER 50
10#define MATCH_TOTAL_NUM 100
11#define OUTPUT_FILENAME "result.txt"
12
13void CountNext(int *num, int length, int total);
14
15int g_num[NUM];
16static int g_totalWays = 0;
17FILE *g_fp;
18
19void CountNext(int *num, int length, int total)
20
61int main()
62
下午跑到CSDN去逛了哈,看到很多人在讨论这个算法: http://community.csdn.net/Expert/topic/5362/5362401.xml?temp=.5933344
求数值在 1 - 50 之内的任意5个数之和为100 。
数值:1,2,3,4,5,6....48,49,50
取其中的任意5个数,但这5个数相加之和要等于100,并将所有这种组合罗列
例: 1+10+19+20+50=100
3+14+16+27+40=100
不能有重复
大多数都是循环实现,我给出我的一个递归实现吧(GCC编译器,DEVCPP下编译通过,计算时间我没算,反正马上出结果,应该不到1秒):
1#include <conio.h>
2#include <stdlib.h>
3#include <stdio.h>
4#include <dos.h>
5
6
7#define NUM 5
8#define LOWER 1
9#define UPPER 50
10#define MATCH_TOTAL_NUM 100
11#define OUTPUT_FILENAME "result.txt"
12
13void CountNext(int *num, int length, int total);
14
15int g_num[NUM];
16static int g_totalWays = 0;
17FILE *g_fp;
18
19void CountNext(int *num, int length, int total)
20
61int main()
62
相关文章推荐
- 一个计算简单数学表达式值的算法。
- 一个简单的算法题9.4
- 一个简单的子集产生算法
- 一个简单的波形包络提取算法
- 一个简单的多机器人编队算法实现--PID
- 一个简单的概率算法
- 【技术收藏】enpaodelvzi编写:一个Java写的俄罗斯方块源码 算法简单(300行) 注释详细
- 漫水填充算法的一个简单实现(Qt版)
- 一个基于Java的简单分组处理算法
- 一个简单算法的设计(一个数组中连续区间和的最大值)
- 一个简单的统计图像主颜色的算法(C#源代码)
- 一个简单的镜头稳定算法
- 一个简单的实现找出数组中一个数字出现次数最多的数字的算法
- Opnet 一个简单的网络实现Dijkstra最短路径算法,路径代价为跳数加排队延时
- SSE图像算法优化系列十:简单的一个肤色检测算法的SSE优化。
- 水下图像增强相关算法的一个简单小结。
- LOJ2254 && bzoj5016 [Snoi2017]一个简单的询问 莫队算法
- 一个简单的多机器人编队算法实现--PID
- 一个简单的算法---实现找出数组中一个数字出现次数最多的数字
- 一个简单的JavaScript 日期计算算法