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(vector<uint> &vect, unsigned int n, unsigned int k){
  9. if( k>n ) return 0;
  10. if( k==0 || k==n ) return 1;
  11.  
  12. uint osize = 1;
  13. uint col;
  14.  
  15. vect.resize(n+1);
  16.  
  17. if(k>n/2)
  18. {
  19. k=n-k;
  20. }
  21.  
  22. vect[0] = 1;
  23.  
  24. for(uint row=1; row <= n; row++)
  25. {
  26. if (row % 2 == 0) {
  27. vect[osize] = vect[osize - 1] * 2;
  28.  
  29. for(col = osize - 1; col >= 1; col--)
  30. vect[col] = vect[col] + vect[col-1];
  31.  
  32. osize++;
  33. } else {
  34. for(col = osize - 1; col >= 1; col--)
  35. vect[col] = vect[col] + vect[col-1];
  36. }
  37. }
  38.  
  39. return vect[k];
  40. }
  41.  
  42. #define max 49
  43.  
  44. int main(void) {
  45. unsigned int n, k, kk;
  46. ulong b, b1, b2;
  47. vector<uint> v1;
  48.  
  49. for( n=0; n<=max; n++ ){
  50. printf("\n%2d - ", n);
  51. //for( k=1; k<=max-n; k++ ) putchar(' ');
  52. for( k=0; k<=n; k++ ) {
  53. b=binomial_pascal(v1,n,k);
  54. if ((k == 0) || (n == 0)) {
  55. putchar('.');
  56. } else {
  57. b1 = binomial_pascal(v1,n-1,k-1);
  58. b2 = binomial_pascal(v1,n-1,k);
  59. if( (b != b1 + b2) || (b < b1) || (b < b2) ) putchar('+');
  60. else putchar('.');
  61. }
  62. putchar(' ');
  63.  
  64. }}
  65. printf("\n\n "); for( n=0; n<=max; n++ ) printf("%2d", n%10); puts("");
  66. printf( " "); for( n=0; n<=max; n++ ) if( n%10==0 ) printf("%2d", n/10); else printf(" "); puts("");
  67. puts("+ sposób zawodzi");
  68. 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