Example #1
0
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);
}
Example #2
0
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);

}
Example #3
0
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;
}
Example #4
0
double f(int n){
	if(n==0){
		return 0;
	}
	return f(n-1)+1.0*n/(fac(n+1)*fac(n+2));
	
}
Example #5
0
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;
}
Example #8
0
void bootentry()
{
  _printtst("5!=", fac(5));
  _printtst("7!=", fac(7));
  _printtst("fib(8)=", fib(8));
  _printtst("fib(A)=", fib(0xA));
  _testhalt();
}
Example #9
0
/* ================================ 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;
}
Example #10
0
/* ================================ 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;
}
Example #11
0
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;
}
Example #12
0
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);
    }
}
Example #13
0
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;
}
Example #14
0
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;
}
Example #15
0
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;
}
Example #16
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;
}
Example #17
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 );
  }
}
Example #18
0
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;
}
Example #21
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);
}
Example #24
0
int main(int argc, const char *argv[])
{
	int value;
	value=fac(5);
	printf("%d\n",value);
	return 0;
}
Example #25
0
int main(){
    int i;
    scanf("%d", &i);
    printf("%llu\n", fac(i));
    printf("%lf\n", fac_d(i));
    return 0;
}
Example #26
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;
}
Example #27
0
int stf::fac(int arg) {
    if (arg<=1) {
        return 1;
    } else {
        return arg*fac(arg-1);
    }
}
Example #28
0
int product_function(int acc, int x) //@ : fold_function
    //@ requires true;
    //@ ensures true;
{
    int f = fac(x);
    return acc * f;
}
Example #29
0
int sum_function(int acc, int x) //@ : fold_function
    //@ requires true;
    //@ ensures true;
{
    int f = fac(x);
    return acc + f;
}
Example #30
0
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;
  }
}