题目内容:已知q与n,求等比数列之和:1+q+q2+q3+q4+……+qn。

输入描述:输入数据不多于50对,每对数据含有一个整数n(1<=n<=20)、一个小数q(0<q<2)。

输出描述:对于每组数据n和q,计算其等比数列的和,精确到小数点后3位,每个计算结果应单独占一行。

题目分析:对于等比数列之和Sn=a1+a2+a3+……+an,有公式Sn=a1(1-qn)/(1-q) (q!=1)。本题要求的等比数列,实际上是有n+1项,且a1=1。

另外,求xy的函数是pow(x,y),他需要”#include<cmath>”。

本题要求控制小数点后的位数,如果采用C语言的printf函数来输出,那么控制小数点后的位数形式为”printf(“%*.*f”,a);”,如”printf(“%.3f\n”,sum);”。如果采用C++的cout输出,那么先用”cout.precision(n);”来设定小数点后保留n位,然后,输出时加”fixed”参数,表明是定点输出。

参考代码:

#include <vector>
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
struct Sum{int n;double q;};
int main(int argc,char * argv[])
{
vector<Sum> pair(50);
int num=0;
while(num<=49)
{
cin>>pair[num].n>>pair[num].q;
if(pair[num].n>=1&&pair[num].n<=20&&pair[num].n>0&&pair[num].q<2)
{
num++;
}
else if(pair[num].n<1||pair[num].n>20||pair[num].q<=0||pair[num].q>=2)
{
cout<<"The input is out of range";
}
if(cin.get()=='\n')
{
break;
}
}
cout.precision(3);
double sum;
for(int i=0;i<num;i++)
{
if(pair[i].q==1)sum=1+pair[i].n;
else
sum=(1-pow(pair[i].q,pair[i].n+1))/(1-pair[i].q);
cout<<fixed<<sum<<endl;
}
system("pause");
return 0;
}

效果如图:

C++求等比数列之和的更多相关文章

  1. HTML 求阶乘之和

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. poj1845(二分快速求等比数列模M和)

    Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 17039   Accepted: 4280 Descripti ...

  3. lambda, reduce, map求阶乘之和

    学完这几个优雅的内建函数,就可以做一些有趣的小练习来激发兴趣了.而python最大的好处便是简洁,看下边要求 用1行代码求 1! + 2! + 3! + ... + 10! 求阶乘 reduce函数用 ...

  4. [济南集训 2017] 求gcd之和

    题目大意: 求\(\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)\) 解题报告: 有一个结论:一个数的所有因子的欧拉函数之和等于这个数本身 运用这个我们可以开始推: \(\sum_{ ...

  5. JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)

    一.设计思想 先将参数个数输出,并利用循环结果将参数逐个输出,再将字符串强制转化成整型,利用循环结构相加求和 二.程序流程图 三.源程序代码 package demo; public class Co ...

  6. HDU - 1588 Gauss Fibonacci (矩阵高速幂+二分求等比数列和)

    Description Without expecting, Angel replied quickly.She says: "I'v heard that you'r a very cle ...

  7. 洛谷P4248 [AHOI2013]差异(后缀自动机求lcp之和)

    题目见此 题解:首先所有后缀都在最后一个np节点,然后他们都是从1号点出发沿一些字符边到达这个点的,所以下文称1号点为根节点,我们思考一下什么时候会产生lcp,显然是当他们从根节点开始一直跳相同节点的 ...

  8. C - Reading comprehension 二分法 求等比数列前N项和

    Read the program below carefully then answer the question. #pragma comment(linker, "/STACK:1024 ...

  9. HDU-1215 七夕节 数论 唯一分解定理 求约数之和

    题目链接:https://cn.vjudge.net/problem/HDU-1215 题意 中文题,自己去看吧,懒得写:) 思路 \[ Ans=\prod \sum p_i^j \] 唯一分解定理 ...

随机推荐

  1. Mingyang.net:用注解校验数据

    注解校验依赖的是javax.validation和hibernate-validaton. <dependency> <groupId>javax.validation< ...

  2. poj 2632 Crashing Robots

    点击打开链接 Crashing Robots Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6655   Accepted: ...

  3. 蓝桥杯---汉字取首字母(位运算 & 水题)

    确实题目虽然有点水,但是开始的时候好像还真的没有想到怎么提取出这个编号一不小心感觉可以可以用unsigned char 这种类型,直接转为16进制,但是之后发现虽然第一次在codeblock中还行,但 ...

  4. 解决oracle11g安装导致数据库无法自动搜集统计信息-转

    近期发现个别11G数据库无法自动收集统计信息,部分视图查询结果如下: SQL> select client_name,status from dba_autotask_client where ...

  5. Spring配置事务 http://www.cnblogs.com/leiOOlei/p/3725911.html

    http://www.cnblogs.com/leiOOlei/p/3725911.html JNDI方式配置数据源: <?xml version="1.0" encodin ...

  6. Unity Shader:Blur

    花了一晚上的时间终于看懂Image Effect中的Blur,其实很简单,就是一下子没有理解到. 原理:使用两个一维[1*7]的高斯滤波模板,一个用在x方向,另一个用在y方向.高斯滤波有模糊的效果. ...

  7. 最小二乘拟合(转)good

    在物理实验中经常要观测两个有函数关系的物理量.根据两个量的许多组观测数据来确定它们的函数曲线,这就是实验数据处理中的曲线拟合问题.这类问题通常有两种情况:一种是两个观测量x与y之间的函数形式已知,但一 ...

  8. Android开发-API指南-Content Provider基础

    Content Provider Basics 英文原文:http://developer.android.com/guide/topics/providers/content-provider-ba ...

  9. Android开发-API指南-<intent-filter>

    <intent-filter> 英文原文:http://developer.android.com/guide/topics/manifest/intent-filter-element. ...

  10. 慕课网-安卓工程师初养成-3-6 Java中的逻辑运算符

    来源: http://www.imooc.com/code/1301 逻辑运算符主要用于进行逻辑运算.Java 中常用的逻辑运算符如下表所示: 我们可以从“投票选举”的角度理解逻辑运算符: 1. 与: ...