由一个小学五年级暑假作业想到的算法问题
来源:互联网 发布:js拼接html样式没了 编辑:程序博客网 时间:2024/04/28 16:19
从9到1 ,9个数, 相邻的两个数可以连在一起, 只使用加 和 减号连接, 使这些函数加起来的总和等于100; 例如 98 + 7 - 6 + 5 - 4 + 3 - 2 - 1 = 100.
当然 可以由98 76 等等多过两位数, 本来是找几种, 要问的是看有多少种这样的组合? 大家怎么写代码啊?
krh2001(边城浪子)
#include <stdio.h>
int Compr(const char* exps , int first, int n)
{
int count = 0;
int i, part, m;
char buffer[128];
if(n == 0)
{
if(first == 100)
{
printf("%s = 100/n", exps);
return 1;
}
}
else
{
for(i = 1; i <= n; i++) // 取几位数
{
part = 0;
for(m = 0; m < i; m++)
part = part * 10 + (n - m);
sprintf(buffer, "%s + %d", exps, part);
count += Compr(buffer, first + part, n - i);
sprintf(buffer, "%s - %d", exps, part);
count += Compr(buffer, first - part, n - i);
}
}
return count;
}
int ComprFirst(int n)
{
int count = 0;
int i, part, m;
char buffer[128];
for(i = 1; i <= n; i++) // 取几位数
{
part = 0;
for(m = 0; m < i; m++)
part = part * 10 + (n - m);
sprintf(buffer, "%d", part);
count += Compr(buffer, part, n - i);
}
return count;
}
int main()
{
int count;
count = ComprFirst(9);
printf(" Total : %d/n", count);
return 0;
}
结果:
9 + 8 + 76 + 5 + 4 - 3 + 2 - 1 = 100
9 + 8 + 76 + 5 - 4 + 3 + 2 + 1 = 100
9 - 8 + 7 + 65 - 4 + 32 - 1 = 100
9 - 8 + 76 - 5 + 4 + 3 + 21 = 100
9 - 8 + 76 + 54 - 32 + 1 = 100
98 + 7 + 6 - 5 - 4 - 3 + 2 - 1 = 100
98 + 7 - 6 + 5 - 4 + 3 - 2 - 1 = 100
98 + 7 - 6 + 5 - 4 - 3 + 2 + 1 = 100
98 + 7 - 6 - 5 + 4 + 3 - 2 + 1 = 100
98 - 7 + 6 + 5 + 4 - 3 - 2 - 1 = 100
98 - 7 + 6 + 5 - 4 + 3 - 2 + 1 = 100
98 - 7 + 6 - 5 + 4 + 3 + 2 - 1 = 100
98 - 7 - 6 + 5 + 4 + 3 + 2 + 1 = 100
98 - 7 - 6 - 5 - 4 + 3 + 21 = 100
98 - 76 + 54 + 3 + 21 = 100
Total : 15
Press any key to continue
- 由一个小学五年级暑假作业想到的算法问题
- 一道小学五年级的数学暑假作业引人思考
- 小学五年级的题
- 一道小学五年级的数学题
- 一道小学五年级的编程题
- 【素养】由一个简单算法想到的程序员素养问题
- 一道小学五年级的数学题引发的一些思考
- 由一个BUG想到的
- 由一个bug想到的
- 由一个问题想到的,测试的复习
- 由一个简单的js题目想到的问题。。。。
- 由一个例子想到对事务脚本模式的问题
- 某小学一年级暑假作业的一道数学题解答
- 由普利姆算法想到一个游戏之后
- 学习小学五年级的知识——怎么将分数化为小数
- 一张小学二年级的请假条
- Python 小学4年级的数学题
- 由GFS中的一个改进想到的
- IM软件的界面网络部分(-)
- 嵌入式学习入门 转
- 南京黄页电子版软件
- 一封程序员的情书
- Windows API函数大全 分类速查
- 由一个小学五年级暑假作业想到的算法问题
- 双核CPU上的快速排序效率
- 读书笔记-《从多角度看软件系统需求》1
- 瞧人家那地方~再看看咱这地方~
- 数据类型
- 软件项目风险管理
- 处理SOAPMessage 的Servlet
- PetShop4学习小结
- 几个笔试题目。。