int cnk(int n, int k) { if ( k >= 1 ){ return cnk(n, k-1)*n; } if (k <= -1){ return cnk(n, k+1)/n;} return 1; }
int main() { int k, n; printf("Wprowadź n... "); scanf("%d", &n); printf("Wprowadź k... "); scanf("%d", &k); printf("Wynik potęgowania n^k to: %d\n", cnk(n, k)); return 0; }
long long sum(long long n) { long long s, i, t; s = 0; for (i = 1; i < n; i++) { t = cnk(i); s += t; } // printf("%I64d ", s); return s; }
int main(int argc, char ** argv){ uint32_t x,b,w,d; unsigned char * array; int rank; int idx = 0; if(argc!=4) panic(); b = getarg(1); w = getarg(2); d = getarg(3); rank = _popc(b); array = malloc_file(ARRAY_SIZE_S(rank),FMODE_RO,DATA_FORMAT,rank); // search index for(x=ALLONE(rank);x!=b;x=_permut(x)) idx++; if ( blist_get(b) != idx ) error("What's f***a with blist\n"); // int res = twobit_get(array+(uint64_t)((w<<rank)|d)*cnk(32,rank)/4,idx); printf("%08X %X %X = %d\n",b,w,d,res); return 0; }
int main() { long long i, t, pre, s; s = 0; for (i = 1; i < 40; i++) { printf(" %I64d ", 2*sum(i-2) + sum(i-1)); printf(" %I64d %I64d %I64d\n", i, cnk(i), (long long)sum(i)); } printf("\n===============%f\n", PI); t = 1; for (i = 0; i < 40; i++) { printf("%I64d %I64d %I64d\n", i, t - (t/3)*3, t); t = t*(4*i + 2)/(i + 1); } printf("\n===============%f\n", PI); return 0; }
int mainx() { long long i, t, pre, s; pre = 1; t = 0; for (i = 1; i < 20; i++) { t += f(2*i)/f(i)/f(i); printf("%I64d %I64d %I64d %I64d %I64d %f \n", i, f(2*i), f(i), f(2*i)/f(i)/f(i), t, (double)t/pre); pre = t; } printf("\n===============%f\n", PI); pre = 1; t = 0; for (i = 1; i < 20; i++) { t += f(2*i + 1)/f(i)/f(i+1); printf("%I64d %I64d %I64d %I64d %I64d %f\n", i, f(2*i), f(i), f(2*i + 1)/f(i)/f(i+1), t, (double)t/pre); pre = t; } printf("\n===============%f\n", PI); t = 1; for (i = 1; i < 10; i++) { printf("%I64d %I64d %I64d\n", i, t/3, t); t *= (4*i + 2)/(i + 1); } printf("\n===============%f\n", PI); s = 0; t = 2; for (i = 1; i < 40; i++) { // dump(s); // dump(t); printf("\n"); // printf("%I64X ", t); // printf("%I64d/%I64d %I64d %I64d %f %I64d\n", 4*i+2, i+1, t, t/3, t/3.0, i); t = t*(4*i + 2)/(i + 1); s += t; } printf("\n===============%f\n", PI); s = 0; for (i = 1; i < 40; i++) { t = cnk(i); s += t; printf(" %I64d %I64d %I64d\n", s, (s - pre)/2, t); pre = s; } printf("\n===============%f\n", PI); return 0; t = 1; for (i = 1; i < 10; i++) { printf("%I64d %I64d %I64d\n", i, t/3, t); t *= (4*i + 2)/(i + 1); } printf("\n===============%f\n", PI); for (i = 1; i < 10; i++) { printf("%I64d %I64d %I64d\n", f(2*i), f(i), (f(2*i)/f(i))/f(i)); } printf("%f\n", PI); printf("\n===============%f\n", PI); // ln(n!) = n*log(n) - n + ((double)(log(2*n*PI)))/2; // ln(n!) = n*log(n) - n + ((double)(log(2*n*PI)))/2; return 0; }