/*实验4-7 素性判定*/
#include<stdio.h>
#include<math.h>
int main()
{
int isprime(int n);
int n;
scanf("%d",&n);
if(n==1)
printf("DATA ERROR\n");
else if(isprime(n))
printf("TRUE\n");
else
printf("FALSE\n");
}
int isprime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
return 0;
return 1;
}
/实验4-8 最大公约数/
/*实验4-8 最大公约数*/
#include<stdio.h>
int main()
{
int x,y;
unsigned int gcd(unsigned x,unsigned y);
scanf("%d%d",&x,&y);
printf("%d",gcd(x,y));
}
unsigned int gcd(unsigned n ,unsigned m)
{
int r;
if(m<n)
{
r=m;
m=n;
n=r;
}
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
return m;
}
/*实验4-9 平方数判定 */
/*实验4-9 平方数判定 */
#include<stdio.h>
#include<math.h>
int IsSquare(long int n);
int main()
{
int n,a;
scanf("%d",&n);
a=IsSquare(n);
if(a)
printf("TRUE");
else
printf("FALSE");
return 0;
}
int IsSquare(long int n)
{
int i;
for(i=1;n>0;i+=2)
n-=i;
if(n==0)
return 1;
else
return 0;
}
/实验4-10 级数求和/
/*实验4-10 级数求和*/
#include<stdio.h>
int ComputeHarmonicSeries();
int main()
{
double f;
// double f(n);
f=ComputeHarmonicSeries();
printf("%f",f);
return 0;
}
int ComputeHarmonicSeries()
{
int sum=0, i;
double precision=1e-7;
while((1/i)>precision)
{
sum+=1/i;
i++;
}
return sum;
}
/*实验4-12 富翁与骗子*/
#include<stdio.h>
long deposit(int n);
long withdraw(int n,int amount);
int main()
{
int a,t,n=30,d,amount=30;
long c,f;
a=deposit(n);
c=a;
d=withdraw( n, amount);
f=d;
if(c>f)printf("亏损了%d",c-f);
else
printf("获利了%d",f-c);
}
long deposit(m)
{
int i;
long b=0,sum;
for(i=0;i<m;i++)
b+=2^i;
sum=b/2;
return sum;
}
long withdraw (int n,int amount)
{
int i;
long sum1=0;
for(i=0;i<30;i++)
sum1+=amount;
return sum1;
}
/实验4-14 二项式系数/
/*实验4-14 二项式系数*/
#include<stdio.h>
int main()
{
unsigned int computebinomialcoefficient(unsigned int n,unsigned int k);
int n,k;
int a;
scanf("%d%d",&n,&k);
a= computebinomialcoefficient(n,k);
printf("%d",a);
}
unsigned int computebinomialcoefficient(unsigned int n,unsigned int k)
{
if(n==k||k==0)
return 1;
else
return computebinomialcoefficient(n-1,k)+computebinomialcoefficient(n-1,k-1);
}