int ld(int n){ int q, t, x, z, ai; q=0; t=0; x=0; if( ((n%5)&1)==0 ) t=n%5; n /= 5; while(n){ ai=n%5; n/=5; q+=ai; x+=q; if((ai&1)==0) t += ai; } z = (x+t/2)%4; if( z==0 ) return 6; else return 1<<z;}
niedziela, 20 maja 2012
najmłodsza cyfra silni
niedziela, 13 maja 2012
binomial
unsigned long binomial (int n, int m) { unsigned long cnm = 1UL; int i, f; if (m*2 >n) m = n-m; for (i=1 ; i <= m; n--, i++) { if ((f=n) % i == 0) f /= i; else cnm /= i; cnm *= f; } return cnm; }
poniedziałek, 6 lutego 2012
niedziela, 8 stycznia 2012
Sito Eratostenesa
#include <iostream> #include <bitset> using namespace std; #define N 590000000 bitset <N/2+1> t; int main(){ int i,j,k; printf("N=%d\n", N); for( i=1,k=3; k*k<N; k+=2,i++) if( !t.test(i) ) for( j=(i*i+i)*2; j+j<N; j += 2*i+1 ) t.set(j); cout << t.size()-t.count()-1; return 0; }
sobota, 7 stycznia 2012
piątek, 6 stycznia 2012
Partycje
#include <stdio.h> void denew(int B, int * N, int * K){ int n,k,i,b; for( n=1; n<B; n++ ){ b=i=n; for( k=2; 2*k<=n; k++ ) { b = b*(--i)/k; if( b==B ) { *N= n; *K= k; return; } if( b>B ) break; } } *N=B; *K=1; } #define MAX 20 int n,k,licznik=0,wsie=0; int p[MAX+2]; int min( int x, int y) { return x<y ? x : y;} long long int silnia(int n){ long long int s=1; while(n) s*=n--; return s;} void PrintIt(int t, int z) { if( z>0 && t!=z) return; int i,pop; long long int perm; printf("%3d, %3d | ", ++licznik, t); p[t+1]=0; pop=1; perm=silnia(t); for(i=1; i<=t; i++){ if(p[i]!=p[pop]){ perm/=silnia(i-pop); pop=i;} printf("%2d ", p[i]);} perm/=silnia(i-pop); while(i++<23) printf(" "); printf(" %20llu\n", perm); wsie+=perm;} void P (int n, int k, int t, int z) { int j; p[t] = k; if (n==k) PrintIt(t, z); for (j=min(k,n-k); j>=1; j--) P(n-k,j,t+1,z);} int main() { int i, z ,d; scanf("%d %d",&i, &z); P(i*2, i, 0, z); for(i=1;i<23;i++) printf(" "); denew(wsie, &i, &z); printf("Wszystkich do kupy %14d=newton(%d,%d)\n", wsie, i, z); z=wsie & (-wsie); if( z== wsie){ for(i=1;i<23;i++) printf(" "); i=1; z=2; while( z != wsie) { i++; z*=2; } printf(" = 2 ^ %d\n", i); } return 0;}
Subskrybuj:
Posty (Atom)