算法数据结构试题——在数组中找出已知和的组成数
来源:互联网 发布:java hadoop开发 编辑:程序博客网 时间:2024/04/28 10:25
已知有12个数
现在知道其中的几个数的和
要求知道这个和是哪几个数的和
把所有的组合都找出来
谢谢先,帮朋友问的
- /*
- *不知道符不符合楼主要求,测试了,编译可通过。
- */
- #include <stdio.h>
- int main(void)
- {
- int sum(int [], int);
- int output(int [], int);
- /*已知的12个整数*/
- int num[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
- int tag = 45; /*已知的和值*/
- int mod;
- /*mod第12位对应12个整数,一共有4095种情况*/
- for(mod = 1; mod < 4096; ++mod)
- {
- if(tag == sum(num, mod))
- {
- output(num, mod);
- printf("\n");
- }
- }
- return 0;
- }
- /*计算mod情况下的和*/
- int sum(int num[], int mod)
- {
- int tmp_avail[12];
- int tmp_sum = 0;
- int i;
- for(i = 11; i >= 0; --i)
- {
- tmp_avail[i] = (mod >> i) % 2;
- tmp_sum += tmp_avail[i] * num[i];
- }
- return tmp_sum;
- }
- /*输出符合要求的整数组*/
- int output(int num[], int mod)
- {
- int tmp_avail[12];
- int i;
- for(i = 0; i < 12; ++i)
- {
- tmp_avail[i] = (mod >> i) % 2;
- if(tmp_avail[i] == 1)
- {
- printf("%d ", num[i]);
- }
- }
- return 1;
- }
- 算法数据结构试题——在数组中找出已知和的组成数
- 算法数据结构试题——在数组中找出已知和的组成数
- 数据结构——算法之(001)(在一个数组中找出重复数值)
- 算法与数据结构面试题(4)-在二元树中找出和为某一值的所有路径
- 面试题—— 找出一个无序整型数组中第k大的数。
- 算法与数据结构面试题(14)-在数组中查找2个数的和为已知数
- BFPRT算法——在一个无序数组找出前k小的数
- [面试题] 已知比例,找出数组中出现较多的元素
- 华为机试题—在字符串中找出连续最长的数字串 c++
- 数据结构面试题总结5——数组:找出数组中唯一一个出现一次的元素
- 算法面试题,在数组中找出这样的数,它比它前面的数都大,比它后面的数都小
- 数据结构——算法之(024)(在字符串中找出连续最长的数字串,并把这个串的长度返回)
- 微软,Google面试题 (10) —— 在排序数组中寻找两个数的和等于给定数
- 算法--找出数组中出现次数超过一半的数
- 算法--找出数组中出现次数超过一半的数
- 算法--找出数组中出现次数超过一半的数
- 算法题/找出数组中出现最多的数
- 数据结构与算法[LeetCode]—数组中出现次数异与其他数的一个数
- 也说说Struts2的Convention和REST插件
- shell基础知识
- dataGridView
- 用jquery实现选项卡效果(非常漂亮,带动画效果)
- Convention插件
- 算法数据结构试题——在数组中找出已知和的组成数
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- hdoj2602
- 你应该掌握的——树和二叉树
- 第六周作业 3
- What:由函数Uri.parse()想到的
- Android笔记34:命令行打包编译.apk 包含第三方.jar 的方法
- 设计平面坐标点类
- 第六周任务一