程序举例例 1-1 求 1+2+3+4+……+ n
例 1-2 求 1+1/2+1/3+1/4+…… + 1/n
例 1-3 求 1-1/2+1/3-1/4+…… 1/n
例 1-4 求 1-1/3+1/4-1/5+…… 前 n项之和例 2-1 求 n!
例 2-2 求 xn
例 3 输入 m,判断 m是否为素数 。
例 1-1 求 1+2+3+4+……+ n
算法,
i =1 to n
s=s+t
t++
i++
程序段,
s=0;
for(i=1; i<=n; i++)
s=s+i;
算法,
i =1 to n
s=s+i
i++
例 1-2 求 1+1/2+1/3+……+ 1/n
算法,
i =1 to n
s=s+t
t=1.0/i
i++
程序段,
s=0;
for(i=1; i<=n; i++)
s=s+1.0/i;
算法,
i =1 to n
s=s+t
t++
i++
例 1-3 求 1-1/2+1/3-1/4+…… 1/n
i =1 to n
s=s+t
t=1.0/i
i++ 程序段,s=0;flag=1;
for(i=1; i<=n; i++){
s=s+1.0/i*flag;
flag=-falg;
}
算法,
i =1 to n
s=s+t
t=1.0/i*flag
flag=-flag
i++
例 1-4 求 1-1/3+1/5-…… 前 n项和算法,
i =1 to n
s=s+t
t=1.0/i*flag
flag=-flag
i++
程序段,
s=0;flag=1;tt=1;
for(i=1; i<=n; i++){
s=s+1.0/tt*flag;
tt+=2;
flag=-flag;
}
算法,
i =1 to n
s=s+t
t=1.0/tt*flag
flag=-flag
tt=tt+2
例 2-1 求 n!
算法,
i =1 to n
f=f*t
t++
i++
程序段,
f=1;
for(i=1; i<=n; i++)
f=f*i;算法,
i =1 to n
f=f*i
i++
例 2-2 求 xn
算法,
i =1 to n
f=f*t
t++
i++
程序段,
f=1;
for(i=1; i<=n; i++)
f=f*x;算法,i =1 to n
f=f*t
t=x
i++
例 3 输入 m,判断 m是否为素数。
算法:
m %2 %3 %4 %5 ……
不是素数 || =0 =0
是素数 && !=0 !=0
程序段,
n=sqrt(m);
for(i=2; i<=n; i++)
if(m%i==0) break;
if(i>n) printf("yes\n")
else printf("no\n”);
程序举例例 4-1 1!+2!+…… +n!
例 4-2 x+x2+…… +xn
例 4-3 求 100~200之间的所有素数例 4-1.1 1!+2!+……+n!
算法,
k =1 to n
s=s+f
f=k!
k++
s=0;
for(k=1;k<=n;k++){
f=1;
for(i=1; i<=k; i++)
f=f*i;
s=s+f;
}
f=1;
for(i=1; i<=n; i++)
f=f*i;
例 4-1.2 1!+2!+……+n!
算法,
k =1 to n
s=s+f
f=k!
k++
s=0;f=1;
for(k=1;k<=n;k++){
f=f*k;
s=s+f;
}算法,k =1 to n
s=s+f
f=f*k
k++
例 4-1.3 1!+2!+……+n!
算法,
k =1 to n
s=s+f
f=k!
k++
s=0;
for(k=1;k<=n;k++){
f=fact(k);
s=s+f;
}
float fact(int n)
{ int i;float f=1;
for(i=1; i<=n; i++)
f=f*i;
return(f);
}
例 4-2.1 x+x2+……+x n
算法,
k =1 to n
s=s+f
f=xk
k++
s=0;
for(k=1;k<=n;k++){
f=1;
for(i=1; i<=k; i++)
f=f*x;
s=s+f;
}f=1;for(i=1; i<=n; i++)
f=f*x;
例 4-2.2 x+x2+……+x n
算法,
k =1 to n
s=s+f
f= xk
k++
s=0;f=1;
for(k=1;k<=n;k++){
f=f*x;
s=s+f;
}算法,k =1 to n
s=s+f
f=f*x
k++
例 4-2.3 x+x2+……+x n
算法,
k =1 to n
s=s+f
f= xk
k++
s=0;
for(k=1;k<=n;k++){
f=mypow(x,k);
s=s+f;
}
float mypow(float x,int n)
{ int i;float f=1;
for(i=1; i<=n; i++)
f=f*x;
return(f);
}
例 4-3.1 输出 100~200间所有素数算法,
m =100 to 200
if m是素数
print m
n=sqrt(m);
for(i=2; i<=n; i++)
if(m%i==0) break;
if(i>n) printf("yes\n")
else printf("no\n”);
for(m=100; m<=200; m++){
n=sqrt(m);
for(i=2; i<=n; i++)
if(m%i==0) break;
if(i>n) printf("%d",m)
}
例 4-3.2 输出 100~200间所有素数算法,
m =100 to 200
if m是素数
print m
int prime(int m)
{ int i,n=sqrt(m);
for(i=2; i<=n; i++)
if(m%i==0) break;
if(i>n) return 1;
else return 0;
}
for(m=100; m<=200; m++){
if(prime(m))
printf("%d",m)
}
prime(m)
if m是素数,返回 1
否则,返回 0