- /**************************************************************************************
- 39. 一个集合满足如下条件:
- (1)1是集合的元素;
- (2) 若 P 是集合的元素,则 2*P+1,4*P+5 也是集合的元素。
- 求:此集合中最小的 K 个元素。
- ③ 对ABC作全排列而得的六个三位数之和为 2886。
- ___ ___ ___ ___ ___ ___
- ABC + ACB + BCA + BAC + CAB + CBA = 2886
- 2*(A+B+C)*100 + 2*(A+B+C)*10 + 2*(A+B+C) = 2886
- A+B+C = 13
- **************************************************************************************/
- #include <stdio.h>
- #include <malloc.h>
- void main()
- {
- int *T;
- int k;
- int i,s,t;
- printf("请输入K的值:");
- scanf("%d",&k);
- T = (int*)malloc(k*sizeof(int));
- T[0] = 1;
- for(s=t=0,i=1; i<k; i++)
- {
- if(2*T[s]+1<4*T[t]+5)
- {
- T[i] = 2*T[s]+1;
- s++;
- }
- else
- {
- T[i] = 4*T[t]+5;
- t++;
- }
- }
- for(i=0; i<k; i++)
- printf("%8d",T[i]);
- printf("/n");
- free(T);
- }
练习39
最新推荐文章于 2018-07-19 08:44:56 发布