fork download
  1. #include <stdio.h>
  2. #include <vector>
  3.  
  4. using namespace std;
  5. typedef unsigned long long int ulong;
  6. typedef unsigned int uint;
  7.  
  8. inline ulong binomial_pascal(unsigned int n, unsigned int k){
  9. if( k>n ) return 0;
  10. if( k==0 || k==n ) return 1;
  11.  
  12. uint wynik;
  13. uint osize = 1;
  14. uint col;
  15.  
  16. vector<uint> vect;
  17.  
  18. if(k>n/2)
  19. {
  20. k=n-k;
  21. }
  22.  
  23. vect.resize(1);
  24. vect[0] = 1;
  25. for(uint row=1; row <= n; row++)
  26. {
  27. if (row % 2 == 0)
  28. vect.push_back(2*vect.back());
  29.  
  30. for(col = osize - 1; col >= 1; col--)
  31. vect[col] = vect[col] + vect[col-1];
  32.  
  33. osize = vect.size();
  34. }
  35.  
  36. wynik = vect[k];
  37.  
  38. return wynik;
  39. }
  40.  
  41. #define max 49
  42.  
  43. int main(void) {
  44. unsigned int n, k, kk;
  45. ulong b, b1, b2;
  46. for( n=0; n<=max; n++ ){
  47. printf("\n%2d - ", n);
  48. //for( k=1; k<=max-n; k++ ) putchar(' ');
  49. for( k=0; k<=n; k++ ) {
  50. b=binomial_pascal(n,k);
  51. if ((k == 0) || (n == 0)) {
  52. putchar('.');
  53. } else {
  54. b1 = binomial_pascal(n-1,k-1);
  55. b2 = binomial_pascal(n-1,k);
  56. if( (b != b1 + b2) || (b < b1) || (b < b2) ) putchar('+');
  57. else putchar('.');
  58. }
  59. putchar(' ');
  60.  
  61. }}
  62. printf("\n\n "); for( n=0; n<=max; n++ ) printf("%2d", n%10); puts("");
  63. printf( " "); for( n=0; n<=max; n++ ) if( n%10==0 ) printf("%2d", n/10); else printf(" "); puts("");
  64. puts("+ sposób zawodzi");
  65. return 0;}
Success #stdin #stdout 0.02s 2860KB
stdin
Standard input is empty
stdout
 0 - . 
 1 - . . 
 2 - . . . 
 3 - . . . . 
 4 - . . . . . 
 5 - . . . . . . 
 6 - . . . . . . . 
 7 - . . . . . . . . 
 8 - . . . . . . . . . 
 9 - . . . . . . . . . . 
10 - . . . . . . . . . . . 
11 - . . . . . . . . . . . . 
12 - . . . . . . . . . . . . . 
13 - . . . . . . . . . . . . . . 
14 - . . . . . . . . . . . . . . . 
15 - . . . . . . . . . . . . . . . . 
16 - . . . . . . . . . . . . . . . . . 
17 - . . . . . . . . . . . . . . . . . . 
18 - . . . . . . . . . . . . . . . . . . . 
19 - . . . . . . . . . . . . . . . . . . . . 
20 - . . . . . . . . . . . . . . . . . . . . . 
21 - . . . . . . . . . . . . . . . . . . . . . . 
22 - . . . . . . . . . . . . . . . . . . . . . . . 
23 - . . . . . . . . . . . . . . . . . . . . . . . . 
24 - . . . . . . . . . . . . . . . . . . . . . . . . . 
25 - . . . . . . . . . . . . . . . . . . . . . . . . . . 
26 - . . . . . . . . . . . . . . . . . . . . . . . . . . . 
27 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
28 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
29 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
30 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
31 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
32 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
33 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
34 - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
35 - . . . . . . . . . . . . . . . . . + + . . . . . . . . . . . . . . . . . 
36 - . . . . . . . . . . . . . . . + + + . + + + . . . . . . . . . . . . . . . 
37 - . . . . . . . . . . . . . . + + . . . . . . + + . . . . . . . . . . . . . . 
38 - . . . . . . . . . . . . . + + . + + . . . + + . + + . . . . . . . . . . . . . 
39 - . . . . . . . . . . . . . . . . . . + + + + . . . . . . . . . . . . . . . . . . 
40 - . . . . . . . . . . . . + + + + + + + . . . + + + + + + + . . . . . . . . . . . . 
41 - . . . . . . . . . . . . . + + . . + + . . . . + + . . + + . . . . . . . . . . . . . 
42 - . . . . . . . . . . . . + . . . + + . + + + + + . + + . . . + . . . . . . . . . . . . 
43 - . . . . . . . . . . . + + + + + + + . . . . . . . . + + + + + + + . . . . . . . . . . . 
44 - . . . . . . . . . . . . . + . . + . . + + + + + + + . . + . . + . . . . . . . . . . . . . 
45 - . . . . . . . . . . . + + . . + . . + . . . + + . . . + . . + . . + + . . . . . . . . . . . 
46 - . . . . . . . . . . . + + + + + . + + + . . + . + . . + + + . + + + + + . . . . . . . . . . . 
47 - . . . . . . . . . . + + . . + . . + . . + + . + + . + + . . + . . + . . + + . . . . . . . . . . 
48 - . . . . . . . . . . . . . . + + + + . + . . + . . . + . . + . + + + + . . . . . . . . . . . . . . 
49 - . . . . . . . . . . . . . + + . + + + + . + . + + + + . + . + + + + . + + . . . . . . . . . . . . . 

     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
     0                   1                   2                   3                   4                  
+ sposób zawodzi