练习39

  1. /**************************************************************************************
  2.   39. 一个集合满足如下条件:
  3.    (1)1是集合的元素;
  4.    (2) 若 P 是集合的元素,则 2*P+1,4*P+5 也是集合的元素。
  5.  求:此集合中最小的 K 个元素。
  6.   ③ 对ABC作全排列而得的六个三位数之和为 2886。
  7.   ___   ___   ___   ___   ___   ___
  8.   ABC + ACB + BCA + BAC + CAB + CBA = 2886
  9.   2*(A+B+C)*100 + 2*(A+B+C)*10 + 2*(A+B+C) = 2886
  10.   A+B+C = 13
  11. **************************************************************************************/
  12. #include <stdio.h>
  13. #include <malloc.h>
  14. void main()
  15. {
  16.     int *T;
  17.     int k;
  18.     int i,s,t;
  19.     printf("请输入K的值:");
  20.     scanf("%d",&k);
  21.     T = (int*)malloc(k*sizeof(int));
  22.     T[0] = 1;
  23.     for(s=t=0,i=1; i<k; i++)
  24.     {
  25.         if(2*T[s]+1<4*T[t]+5)
  26.         {
  27.             T[i] = 2*T[s]+1;
  28.             s++;
  29.         }
  30.         else
  31.         {
  32.             T[i] = 4*T[t]+5;
  33.             t++;
  34.         }
  35.     }
  36.     for(i=0; i<k; i++)
  37.         printf("%8d",T[i]);
  38.     printf("/n");
  39.     free(T);
  40. }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值