M,N,K都是未知数,貌似不能用枚举法,怎样编写程序(C语言)输出如下测试实例:
输入 1 2 3 4 5 7
K=8
输出
1 3 4
1 7
1 2 5
数组部分和的问题:假设有一个数组a[N], 能不能从数组a中任选M个元素(M <= N),使得其和为K。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-Time 2021-10-27 14:23关注
next_permutation全排列问题
#include <iostream> #include <algorithm> using namespace std; #pragma warning(disable:4996) int main() { int m, n, k; scanf("%d %d", &n,&k); int *arrs = new int[n]; for (int i = 0; i < n; i++) { arrs[i] = i + 1; } do { for (int i = 0; i < n; i++) { printf("%d ",arrs[i]); } printf("\n"); int sum = 0; for (int i = 0; i < n; i++) { sum += arrs[i]; if (sum == k) { printf("前几项能凑成%d\n",k); break; } } } while (next_permutation(arrs, arrs + n)); printf("前几项能凑成k"); }
用例 5 4 1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3 1 2 5 3 4 1 2 5 4 3 1 3 2 4 5 前几项能凑成4 1 3 2 5 4 前几项能凑成4 1 3 4 2 5 前几项能凑成4 1 3 4 5 2 前几项能凑成4 1 3 5 2 4 前几项能凑成4 1 3 5 4 2 前几项能凑成4 1 4 2 3 5 1 4 2 5 3 1 4 3 2 5 1 4 3 5 2 1 4 5 2 3 1 4 5 3 2 1 5 2 3 4 1 5 2 4 3 1 5 3 2 4 1 5 3 4 2 1 5 4 2 3 1 5 4 3 2 2 1 3 4 5 2 1 3 5 4 2 1 4 3 5 2 1 4 5 3 2 1 5 3 4 2 1 5 4 3 2 3 1 4 5 2 3 1 5 4 2 3 4 1 5 2 3 4 5 1 2 3 5 1 4 2 3 5 4 1 2 4 1 3 5 2 4 1 5 3 2 4 3 1 5 2 4 3 5 1 2 4 5 1 3 2 4 5 3 1 2 5 1 3 4 2 5 1 4 3 2 5 3 1 4 2 5 3 4 1 2 5 4 1 3 2 5 4 3 1 3 1 2 4 5 前几项能凑成4 3 1 2 5 4 前几项能凑成4 3 1 4 2 5 前几项能凑成4 3 1 4 5 2 前几项能凑成4 3 1 5 2 4 前几项能凑成4 3 1 5 4 2 前几项能凑成4 3 2 1 4 5 3 2 1 5 4 3 2 4 1 5 3 2 4 5 1 3 2 5 1 4 3 2 5 4 1 3 4 1 2 5 3 4 1 5 2 3 4 2 1 5 3 4 2 5 1 3 4 5 1 2 3 4 5 2 1 3 5 1 2 4 3 5 1 4 2 3 5 2 1 4 3 5 2 4 1 3 5 4 1 2 3 5 4 2 1 4 1 2 3 5 前几项能凑成4 4 1 2 5 3 前几项能凑成4 4 1 3 2 5 前几项能凑成4 4 1 3 5 2 前几项能凑成4 4 1 5 2 3 前几项能凑成4 4 1 5 3 2 前几项能凑成4 4 2 1 3 5 前几项能凑成4 4 2 1 5 3 前几项能凑成4 4 2 3 1 5 前几项能凑成4 4 2 3 5 1 前几项能凑成4 4 2 5 1 3 前几项能凑成4 4 2 5 3 1 前几项能凑成4 4 3 1 2 5 前几项能凑成4 4 3 1 5 2 前几项能凑成4 4 3 2 1 5 前几项能凑成4 4 3 2 5 1 前几项能凑成4 4 3 5 1 2 前几项能凑成4 4 3 5 2 1 前几项能凑成4 4 5 1 2 3 前几项能凑成4 4 5 1 3 2 前几项能凑成4 4 5 2 1 3 前几项能凑成4 4 5 2 3 1 前几项能凑成4 4 5 3 1 2 前几项能凑成4 4 5 3 2 1 前几项能凑成4 5 1 2 3 4 5 1 2 4 3 5 1 3 2 4 5 1 3 4 2 5 1 4 2 3 5 1 4 3 2 5 2 1 3 4 5 2 1 4 3 5 2 3 1 4 5 2 3 4 1 5 2 4 1 3 5 2 4 3 1 5 3 1 2 4 5 3 1 4 2 5 3 2 1 4 5 3 2 4 1 5 3 4 1 2 5 3 4 2 1 5 4 1 2 3 5 4 1 3 2 5 4 2 1 3 5 4 2 3 1 5 4 3 1 2 5 4 3 2 1
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振