精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

和數能表示1~23的5個正整數

發(fā)布時間:2011-09-16 共1頁

  已知五個互不相同的正整數之和為23,且從這五個數中挑選若干個加起來可以表示從1到23之內的全部自然數。問這五個數是什么?

  *問題分析與算法設計

  從計算機程序設計的角度來說,可以用窮舉法分解23,然后判斷所分解的五個數是否可以表示1到23 之間的全部整數。

  *程序說明與注釋

  #include<stdio.h>

  int main()

  {

  int a,b,c,d,e,i,j,k,l,m,x,count=0,f=0; /*f:分解的5個數可以表示出1~23的標記*/

  printf("There are following possble result:\n");

  for(a=1;a<=23;a++) /*將23分解為a,b,c,d,e五個數*/

  for(b=1+a;b<=23-a;b++)

  for(c=1+b;c<=23-a-b;c++)

  for(d=1+c;d<=23-a-b-c;d++)

  {

  f=1;

  if((e=23-a-b-c-d)>d)

  for(f=0,x=1;x<24&&!f;x++) /*判斷5個數可否表示1~23*/

  for(f=1,i=0;i<2&&f;i++) /*窮舉5個數的全部取舍*/

  for(j=0;j<2&&f;j++)

  for(k=0;k<2&&f;k++)

  for(l=0;l<2&&f;l++)

  for(m=0;m<2&&f;m++)

  if(x==a*i+b*j+c*k+d*l+e*m) f=0;

  if(!f) printf("[%d]: %d %d %d %d %d\n",++count,a,b,c,d,e);

  }

  }

  *運行結果

  There are following possble result:

  [1]: 1 2 3 5 12

  [2]: 1 2 3 6 11

  [3]: 1 2 3 7 10

  [4]: 1 2 4 5 11

  [5]: 1 2 4 6 10

  [6]: 1 2 4 7 9

百分百考試網 考試寶典

立即免費試用