7-1 求N分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
样例”>输入样例:
6
输出样例:
sum = 2.450000
int main(){
double sum;
int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
sum+=1.0/i;
}
printf(“sum = %lf”,sum);
}
7-2 求交错序列前N项和
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
int main(){
double sum=0;
int n,flag=1;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
sum+=flag*1.0*(i)/(2*i-1);
flag=-flag;
}
printf(“%.3f”,sum);
}
7-3 求奇数分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
输入样例:
23
输出样例:
sum = 2.549541
int main(){
double sum=0;
int n;
// int flag=1;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
sum+=1.0/(2*i-1);
// flag=-flag;
}
printf(“sum = %lf”,sum);
}
7-4 求简单交错序列前N项和
本题要求编写程序,计算序列 1 – 1/4 + 1/7 – 1/10 + … 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 0.819
int main(){
double sum=0;
int n,flag=1;
scanf(“%d”,&n);
for(int i=0;i<n;i++)
{
sum+=flag*1.0/(3*i+1);
flag=-flag;
}
printf(“sum = %.3f”,sum);
}
7-5 求平方根序列前N项和
本题要求编写程序,计算平方根序列1+2+3+⋯的前N项之和。可包含头文件
math.h
,并调用
sqrt
函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
10
输出样例:
sum = 22.47
int main(){
double sum;
int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
sum+=sqrt(i);
}
printf(“sum = %.2f”,sum);
}
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。
输入格式:
输入在一行中给出一个不超过12的正整数N。
输出格式:
在一行中输出整数结果。
输入样例:
5
输出样例:
153
int main(){
int sum;
int n,incount;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
incount=1;
for(int j=1;j<=i;j++)
{
incount *=j;
}
sum +=incount;
}
printf(“%d”,sum);
}
7-7 求分数序列前N项和
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
20
输出样例:
32.66
int main(){
double sum=0,flag,numerator=1,denominator=1;
int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
flag=numerator;
numerator=denominator;
denominator=flag+denominator;
sum+=(denominator)/(numerator);
}
printf(“%.2f”,sum);
}
7-8 特殊a串数列求和
给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
输入格式:
输入在一行中给出不超过9的正整数a和n。
输出格式:
在一行中按照“s = 对应的和”的格式输出。
输入样例:
2 3
输出样例:
s = 246
int main(){
int sum;
int a,n,incount;
scanf(“%d %d” ,&a,&n);
for(int i=1;i<=n;i++)
{
incount=a;
for(int j=1;j<i;j++)
{
incount=incount*10+a;
}
sum +=incount;
}
printf(“s = %d”,sum);
}
7-9 求平方与倒数序列的部分和
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。
输入样例:
5 10
输出样例:
sum = 355.845635
int main(){
double sum=0,front,rear;
int m,n;
scanf(“%d %d”,&m,&n);
for(int i=m;i<=n;i++)
{
front=i*i;
rear=1.0/(i);
sum+=front+rear;
}
printf(“sum = %lf”,sum);
}
7-10 求幂之和
本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。
输入格式:
输入在一行中给出正整数n(≤10)。
输出格式:
按照格式“result = 计算结果”输出。
输入样例:
5
输出样例:
result = 62
int main(){
int result=0,count;int n;
scanf(“%d”,&n);
for(int i=1;i<=n;i++)
{
count=pow(2,i);
result +=count;
}
printf(“result = %d”,result);
}