當前位置:編程學習大全網 - 編程軟體 - 求壹道C語言的編程,正整數,所有可能的組合形式

求壹道C語言的編程,正整數,所有可能的組合形式

#include<stdio.h>

#include<string.h>

typedef struct aa

{

int data;

int Parent;

int Offset; //偏移量,,

}AA;

AA a[1000000];

int N,i,front,rear,cnt=0,cnt1,x,dt[1000000],off[1000000];?

char ss[100],p[100];

void Chg()

{

a[rear].data = a[front].data -i;

a[rear].Parent=front; a[rear].Offset = i;

if(x ==1)

{

if(i> a[front].Offset && front>0)? //*****區別於有序數據....

{cnt++;?rear++; }

if(front==0) {cnt++;?rear++; }

}

else {cnt++;rear++; }

}

int main()

{

front =0; rear=1;

printf("輸入數字:\n");scanf("%d",&N); x=0;

a[0].data=N; a[0].Offset = 1; //註意這裏是1;不是0;

cnt=0;

printf("所有的加法情況如下:\n");

while(front!=rear)

{

//for(i=a[front].Offset;i<=a[front].data/2;i++) ////*****區別於有序數據....

for(i=a[front].Offset;i<=(a[front].data-x)/2;i++)

Chg();

?front++;

}

int tmpi,tmpx,kk=0;

for(i=0;i<rear;i++)

{

tmpi= i; dt[kk]=a[tmpi].data;

while(tmpi != 0)

{

kk++;?dt[kk]=a[tmpi].Offset;

tmpi =a[tmpi].Parent;

}

for(kk;kk>=1;kk--)

printf("%d+",dt[kk]);

printf("%d\n",dt[kk]);

}

printf("***計次數%d\n",cnt+1);

return 0;

}

  • 上一篇:湖南國防工業職業技術學校王牌專業
  • 下一篇:四年級勞動課內容有哪些
  • copyright 2024編程學習大全網