任意給一陣列,如
再任意給乙個值,如35.
請從上面的陣列中找出所有的組合,使他們的和等於35.
例如對於上面的陣列,所有的組合情況為:
35;
-10+45;
17+18;
6+9+20;
-10+35+10;
-10+17+18+10;
-10+6+9+20+10;
注意,每一種組合中乙個數只能出現一次。
#include
#include
int num_n(int n);
int main()
int length,i,j,sum=0,num=0,m,give,k,h,n,r=0;
printf("輸入陣列長度/n");
scanf("%d",&length);
printf("輸入要對比的數/n");
scanf("%d",&give);
int *array=(int*)malloc(length*sizeof(int));
for(i=0;iprintf("輸入陣列元素array[%d]=",i);
scanf("%d",array+i);
for(i=0;iprintf("現在陣列中array[%d]=%d/n",i,array[i]);
int *p,*q;
q=p=(int*)malloc(length*sizeof(int));
for(i=0;i*(p+i)=0;
for(i=0;iprintf("現在元素表示p[%d]=%d/n",i,p[i]);
num=num_n(length);
for(i=1;i<=num;i++)
m=i;
for(j=1;j<=length;j++)
k=m%2;
if(k==1)
sum+=array[j-1];
m=m/2;
if(sum==give)
int a=i;
for(j=1;j<=length;j++)
k=a%2;
printf("%d/t",k);
a=a/2;
printf("/n");
sum=0;
int num_n(int n)
if(n==1) return 2;
else return 2*num_n(n-1);
產生隨機小數 如果取到小數區間內的任一數字?
一位粉絲的需求,如果根據左側的小數區間,返回區間內的隨機小數?excel中存在兩個隨機函式,一是randbetween,但其返回的是隨機整數,而不是小數 二是rand函式,返回0 1之間的隨機小數,兩者都無法直接產生需求的結果。既然是隨機,就必須得結合隨機函式。方法一,化小數為整數,再利用randb...
整數陣列的組合問題
2015年9月16日,美團南京站南京郵電大學筆試題目之一。大致的題意是這樣的 有乙個元素各不相同的整數陣列,輸入元素的所有組合,長度由大到小。例如 1,2,3,4 依次輸出1234,123,134,234,12,13,14,23,24,1,2,3,4 思路 1 設輸出的組合的長度為m m n 2 把...
資料結構(一) 陣列的操作
最近開始學習資料結構,覺得這門課蠻重要的,不論是刷題還是寫安卓,資料結構還是要學好的,學習資料結構,我還是用c語言來實現,好理解一點。資料結構中最基本的乙個結構就是線性結構,而線性結構又分為連續儲存結構和離散儲存結構。所謂的連續儲存結構其實就是陣列。陣列本質其實也是資料的一種儲存方式,既然有了資料的...