A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. //
  2. //  main.c
  3. //  25杨辉三角形
  4. //
  5. //  Created by 吴文建 on 16/4/3.
  6. //  Copyright © 2016年 Ari. All rights reserved.
  7. // 编程打杨辉三角形
  8. //**********1
  9. //********1   1
  10. //      1   2   1
  11. //    1   3   3   1
  12. //  1   4   6   4   1
  13. //1   5   10  10  5   1
  14. /* *号为了方便数空格数
  15. //空格数(count -1) * 2 - (i-1)*2
  16. 分析C(n+1,i)=C(n,i)+C(n,i-1);

  17. 第一行
  18. c00=1
  19. 第二行
  20. c10 =1 c11=1
  21. 第三行
  22. c20=1  c21=2 c22=1
  23. 第四行
  24. c30 =1 c31=3 c32=3 c33=1
  25. 定义一个函数

  26. c(m,n)=m!/n!

  27. 阶乘函数

  28. */
  29. #include <stdio.h>

  30. long ZuHe(long m, long n);
  31. long JieCheng(long n);
  32. int main()
  33. {
  34.     long count = 0;
  35.     printf("要输出几行杨辉三角形?:\n");
  36.     scanf("%ld",&count);
  37.     for (long i = 0; i<count; i++)
  38.     {
  39.         for (long j = 0; j < i+1;j++)
  40.         {
  41.             //空格数(count -1) * 2 - (i-1)*2
  42.             if (j == 0)
  43.             {
  44.                 for (long k = (count -1l) * 2l - (i-1l)*2l; k>0; k--)
  45.                 {
  46.                     printf(" ");
  47.                 }
  48.             }
  49.             /**
  50.              *  输出结果
  51.              */
  52.             printf("%4ld",ZuHe(i, j));
  53.         }
  54.         printf("\n");
  55.     }
  56.    
  57.    
  58.     return 0;
  59. }

  60. /**
  61. *  组合的计算
  62. *
  63. *  @param m 总数
  64. *  @param n 从总数中取出的数
  65. *
  66. *  @return 一共有多少种取法
  67. */
  68. long ZuHe(long m, long n)
  69. {
  70.     if (m ==0l || n == 0l)
  71.     {
  72.         return 1l;
  73.     }
  74.    
  75.     return (JieCheng(m)/JieCheng(n))/JieCheng((m-n));
  76. }
  77. /**
  78. *  阶乘的计算
  79. *
  80. *  @param n 1-n
  81. *
  82. *  @return 1-n阶乘的结果
  83. */
  84. long JieCheng(long n)
  85. {

  86.     if (n==1l || n == 0)
  87.         return 1l;
  88.     return (JieCheng(n-1l) * n);
  89. }
复制代码
不知道怎么在网页上编辑   
代码拷到xcode应该会一目了然的  
同学们帮忙看看有哪些过程是不合理的
或者有什么更简单的代码  
欢迎向楼主提出!!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马