从1到n的数中找若干个数使其和为m

来源:互联网 发布:中经网产业数据库账号 编辑:程序博客网 时间:2024/05/16 09:56
#include<stdlib.h>#define N 100int flag[N];void print(int* flag){int i = 0;for(; i < N; i++){if(flag[i] == 1){printf("%d ",i+1);}}printf("\n");} void findSum(int m, int n, int* flag){if(n < 1 || m < 1){return;}if(m == n){flag[n - 1] = 1;    print(flag); flag[n - 1] = 0;}flag[n - 1] = 1;findSum(m-n, n-1, flag );flag[n - 1] = 0;findSum(m, n-1, flag );}int main(){findSum(11, 10, flag);}

原创粉丝点击