void main() { char a[50]; int l,i,num,den=1,b[26],t; char temp; //clrscr(); scanf("%s",a); l=strlen(a); for(i=0;i<26;i++) b[i]=0; i=0; while(i<l) { t=a[i]-97; b[t]++; i++; } for(i=0;i<26;i++) { if(b[i]!=0) { den=den*fac(b[i]); } } num=fac(l); printf("%d",num/den); }
main() { int n,r; p("enter number of objects: "); scanf("%d",&n); p("enter number of objects taken: "); scanf("%d",&r); int fr=fac(r); int a=fac(n); int b=fac(n-r); int P=a/b; int op; int C=a/(fr*b); p("press 1 to display permutations or press 2 for combinations (1/2):"); scanf("%d",&op); if(op==1) p("no. of permutations P(%d,%d) = %d\n",n,r,P); if(op==2) p("number of combinations: %d\n",C); printf("the factorial of %d is %d\n",r,fr); }
int main() { int i,j,k,n,m,num[11]; while(scanf("%d %d",&n,&m)!=EOF) { memset(c1,0,sizeof(c1)); memset(c1,0,sizeof(c2)); for(i=1;i<=n;i++) { scanf("%d",&num[i]); } for(i=0;i<=num[1];i++)//ÇмÇҪȡµ½0 { c1[i]=1.0/fac(i); } for(i=2;i<=n;i++) { for(j=0;j<=m;j++) { for(k=0;k+j<=m && k<=num[i];k++) { c2[k+j]+=c1[j]/fac(k); } } for(j=0;j<=m;j++) { c1[j]=c2[j]; c2[j]=0; } } printf("%.0lf\n",fac(m)*c1[m]); } return 0; }
double f(int n){ if(n==0){ return 0; } return f(n-1)+1.0*n/(fac(n+1)*fac(n+2)); }
unsigned long long int fac(unsigned long long int a,unsigned long long int b,unsigned long long int c){ if(a==b && c>3) return 1; else if(a==b) return 1; else if(a==0) return 0; else if(c>=2) return((a*fac(a-1,b,c-1))/c); else return((a*fac(a-1,b,c-1))/1); }
int bezcoeff(int n, int i) { int numer = fac(n); int denom1 = fac(n - i); int denom2 = fac(i); int result = (numer/(denom1 * denom2)); return result; }
FE_TMPL std::complex<float> FE_SYS::_Y(int n,int m,float theta,float phi){ std::complex<float> a = 1; if(m>0 && m%2==1) a = -1; a *= std::sqrt(fac(n-m)/float(fac(n+m))); a *= _P(n,m,std::cos(theta)); a *= std::exp(std::complex<float>(0,m*phi)); return a; }
void bootentry() { _printtst("5!=", fac(5)); _printtst("7!=", fac(7)); _printtst("fib(8)=", fib(8)); _printtst("fib(A)=", fib(0xA)); _testhalt(); }
/* ================================ SINUS ======================================== */ TMath::DOUBLE TMath::sin(DOUBLE x) { x = mod(x + PI, 2 * PI) - PI; DOUBLE r = 0; for (LONG n = 0; n <= 16L; n+=4) { r += pow(x, n + 1) / fac(n + 1) - pow(x, n + 3) / fac(n + 3); } return r; }
/* ================================ KOSINUS ======================================== */ TMath::DOUBLE TMath::cos(DOUBLE x) { x = mod(x + PI, 2 * PI) - PI; DOUBLE r = 0; for (LONG n = 0; n <= 16L; n+=4) { r += pow(x, n + 0) / fac(n + 0) - pow(x, n + 2) / fac(n + 2); } return r; }
double I(double x, unsigned a, unsigned b) { double r = 0; for (int j = a; static_cast<unsigned>(j) <= a+b-1; ++j) r += fac(a+b-1)/(fac(j) * fac(a + b - 1 - j)) * std::pow(x, j) * std::pow(1-x, a+b-1-j); return r; }
static float bernstein(unsigned n, unsigned i, float t) { float binom = fac(n) / (fac(n-i) * fac(i)); if (i == 0) { return binom * pow(1-t, n); } else if (i == n) { return binom * pow(t, i); } else { return binom * pow(t, i) * pow(1-t, n-i); } }
TMath::DOUBLE TMath::asin(DOUBLE x) { x = mod(x + 1, 2) - 1; DOUBLE r = 0; for (LONG n = 0; n <= 8L; n++) { r += fac(2 * n) / (pow(DOUBLE(2), 2 * n) * pow(fac(n), 2) * (2 * n + 1)) * pow(x, 2 * n + 1); } return r; }
void fac(long long n) { for (long long i = 2; i * i <= n; i++) { if (n % i == 0) { fac(i); fac(n / i); return; } } f[j++] = n; }
int _tmain(int argc, _TCHAR* argv[]) { f(ga, 10); int aa[10] {1, fac(2), fac(3), fac(4), fac(5), fac(6), fac(7), fac(8), fac(9), fac(10)}; f(aa, 10); return 0; }
int main() { int n = 1; for (int i = 0; i < 10; ++i, n = n + n) gv[i] = n * 2; int aa[10] {1, fac(2), fac(3), fac(4), fac(5), fac(6), fac(7), fac(8), fac(9), fac(10)}; return 0; }
/* main computes and prints the relative error to be used in myexp() natural ln2 / 2 is cached early to avoid redunt computations. fac() is used to quickly calculate factorials. */ int main ( int argc, char ** argv ) { double l = log ( 2 ) / 2; //cache ln2/2 for ( int i = 1; i <= 15; i++ ) { double f = 2 / fac ( i + 1 ); //f contains 2 / the factorial double p = pow ( l, i + 1 ); //p contains l ^ i+1 double r = f * p; //r holds the result of multiplying f * p printf ( "Relative error of %d is : %0.9lf\n", i, r ); double x = fac ( i ); printf ( "Factorial of %d is : %lf\n", i, x ); } }
int main(){ unsigned long long int a,b; while(1){ scanf("%lli %lli",&a,&b); if(a==0 && b==0){break;} if(a-b > b) printf("%lli things taken %lli at a time is %lli exactly.\n",a,b,fac(a,a-b,b)); else printf("%lli things taken %lli at a time is %lli exactly.\n",a,b,fac(a,b,a-b)); } return 0; }
FE_TMPL float FE_SYS::_P(int n,int m,float u){ if(n<0) return 0; if(n < -m || n > m) return 0; if(m<0){ return ((-m)%2==1?-1.f:1.f) * fac(n-m) / fac(n+m) * _P(n,-m,u); } float a = m%2==1 ? -1 : 1; for(int j = 1;j<=m;j++) a *= 2*j - 1; a *= std::pow(1-u*u,m/2.0f); return a; }
int main(int argc, char *argv[]) { int i; int n; for (n = 0; n < 20; n++) { int f = fac(n); printf("n=%10d f=%10d\n", n, f); } for (i = 0, n = 0; i < 1000; i++, n = 2*n+1) { int f = fac(n); printf("i=%4d n=%10d f=%10d\n", i, n, f); } return 0; }
int main() { char s[BUFSIZ]; printf("4! == %d\n", fac(4)); printf("8! == %d\n", fac(8)); printf("12! == %d\n", fac(12)); strcpy(s, "abcdef"); printf("reversing 'abcdef', we get '%s'\n", \ reverse(s)); strcpy(s, "madam"); printf("reversing 'madam', we get '%s'\n", \ reverse(s)); return 0; }
long long generateNum(unordered_map<int, int> &hash) { long long denominator = 1; int sum=0; for (auto val : hash) { if (val.second == 0) continue; denominator *= fac(val.second); sum += val.second; } if (sum == 0) return sum; return fac(sum) / denominator; }
static long int fac (long int n) { if (n == 0) return 1; return n * fac (n - 1); }
int main(int argc, const char *argv[]) { int value; value=fac(5); printf("%d\n",value); return 0; }
int main(){ int i; scanf("%d", &i); printf("%llu\n", fac(i)); printf("%lf\n", fac_d(i)); return 0; }
int main() { int n; int len; int i,j; int num[10]; factorial[0][0]='1'; factorial[1][0]='1'; //create all factorial fac(); while(scanf("%d",&n)) { if(n==0) break; len=strlen(factorial[n]); //initialize all to zero for(i=0;i<10;i++) num[i]=0; //count the frequencies for(i=0;i<len;i++) { for(j=0;j<10;j++) { if(factorial[n][i]==(j+'0')) num[j]++; } } //output printf("%d! --\n",n); printf(" (0)%5d (1)%5d (2)%5d (3)%5d (4)%5d\n",num[0],num[1],num[2],num[3],num[4]); printf(" (5)%5d (6)%5d (7)%5d (8)%5d (9)%5d\n",num[5],num[6],num[7],num[8],num[9]); } return 0; }
int stf::fac(int arg) { if (arg<=1) { return 1; } else { return arg*fac(arg-1); } }
int product_function(int acc, int x) //@ : fold_function //@ requires true; //@ ensures true; { int f = fac(x); return acc * f; }
int sum_function(int acc, int x) //@ : fold_function //@ requires true; //@ ensures true; { int f = fac(x); return acc + f; }
poly* Plethysm(entry* lambda,_index l,_index n,poly* p) { if (n==0) return poly_one(Lierank(grp)); else if (n==1) return p; { _index i,j; poly* sum= poly_null(Lierank(grp)),**adams=alloc_array(poly*,n+1); poly* chi_lambda=MN_char(lambda,l); for (i=1; i<=n; ++i) { adams[i]=Adams(i,p); setshared(adams[i]); } for (i=0;i<chi_lambda->nrows;i++) { entry* mu=chi_lambda->elm[i]; poly* prod=adams[mu[0]],*t; for (j=1; j<n && mu[j]>0; ++j) { t=prod; prod=Tensor(t,adams[mu[j]]); freepol(t); } sum= Addmul_pol_pol_bin(sum,prod,mult(chi_lambda->coef[i],Classord(mu,n))); } freemem(chi_lambda); setshared(p); /* protect |p|; it coincides with |adams[1]| */ for (i=1; i<=n; ++i) { clrshared(adams[i]); freepol(adams[i]); } freearr(adams); clrshared(p); { bigint* fac_n=fac(n); setshared(fac_n); /* used repeatedly */ for (i=0; i<sum->nrows; ++i) { bigint** cc= &sum->coef[i] ,* c= (clrshared(*cc),isshared(*cc)) ? copybigint(*cc,NULL) : *cc; *cc=divq(c,fac_n); setshared(*cc); if (c->size!=0) error("Internal error (plethysm).\n"); else freemem(c); } clrshared(fac_n); freemem(fac_n); } return sum; } }