C++项目参考解答:小试循环

【项目-小试循环】

  写出实现下面求解任务的程序【提示:m是一个变量,在程序中输入】

  (1)求1到m的平方和

  (2)求1到m间所有奇数的和

  (3)求1到m的倒数和,即

1+12+13+14+...+1m

  (4)求值:

1?12+13?14+...+(?1)(m+1)×1m

  (5)求m!,即

1×2×3×...×m


【参考解答】

  写出实现下面求解任务的程序【提示:m是一个变量,在程序中输入】

  (1)求1到m的平方和

#include <iostream>
using namespace std;
int main( )
{
    int n,m,total;
    cin>>m;
    n=1;
    total=0;
    while(n<=m)
    {
        total+=(n*n);
        n++;
    }
    cout<<"total="<<total<<endl;
    return 0;
}

或用for循环:

#include <iostream>
using namespace std;
int main( )
{
    int n,m,total;
    cin>>m;
    total=0;
    for(n=1;n<=m;n++)
    {
        total+=(n*n);
    }
    cout<<"total="<<total<<endl;
    return 0;
}

  (2)求1到m间所有奇数的和

#include <iostream>
using namespace std;
int main( )
{
    int n,m,total;
    cin>>m;
    n=1;
    total=0;
    while(n<=m)
    {
        total+=n;
        n+=2;
    }
    cout<<"total="<<total<<endl;
    return 0;
}

或用for循环:

#include <iostream>
using namespace std;
int main( )
{
    int n,m,total;
    cin>>m;
    total=0;
    for(n=1;n<=m;n+=2)
    {
        total+=n;
    }
    cout<<"total="<<total<<endl;
    return 0;
}

  (3)求1到m的倒数和,即

1+12+13+14+...+1m

#include <iostream>
using namespace std;
int main( )
{
    int n,m;
    double total;
    cin>>m;
    n=1;
    total=0;
    while(n<=m)
    {
        total+=(1.0/n); //注意1.0引发的类型转换,非常重要!
        n++;
    }
    cout<<"total="<<total<<endl;
    return 0;
}

或用for循环:

#include <iostream>
using namespace std;
int main( )
{
    int n,m;
    double total;
    cin>>m;
    n=1;
    total=0;
    for(n=1;n<=m;n++)
    {
        total+=(1.0/n); //注意1.0引发的类型转换,非常重要!
    }
    cout<<"total="<<total<<endl;
    return 0;
}

  (4)求值:

1?12+13?14+...+(?1)(m+1)×1m

#include <iostream>
using namespace std;
int main( )
{
    int n,m,sign;
    double total;
    cin>>m;
    n=1;
    total=0;
    sign=1; //用sign代表累加项的符号,这是处理一正一负累加的技巧
    while(n<=m)
    {
        total+=(sign*(1.0/n));
        n++;
        sign*=-1; //sign变号
    }
    cout<<"total="<<total<<endl;
    return 0;
}

或用for循环:

#include <iostream>
using namespace std;
int main( )
{
    int n,m,sign;
    double total;
    cin>>m;
    n=1;
    sign=1; //用sign代表累加项的符号,这是处理一正一负累加的技巧
    total=0;
    for(n=1; n<=m; n++)
    {
        total+=(sign*(1.0/n)); //注意1.0引发的类型转换,非常重要!
        sign*=-1; //sign变号
    }
    cout<<"total="<<total<<endl;
    return 0;
}

  (5)求m!,即

1×2×3×...×m

#include <iostream>
using namespace std;
int main( )
{
    int n,m;
    long fact; //阶乘值很大,数据类型方面考虑一些
    cin>>m;
    n=1;
    fact=1;
    while(n<=m)
    {
        fact*=n;
        n++;
    }
    cout<<m<<"! = "<<fact<<endl;
    return 0;
}

或用for循环:

#include <iostream>
using namespace std;
int main( )
{
    int n,m;
    long fact; //阶乘值很大,数据类型方面考虑一些
    cin>>m;
    fact=1;
    for(n=1;n<=m;n++)
    {
        fact*=n;
    }
    cout<<m<<"! = "<<fact<<endl;
    return 0;
}
时间: 2024-10-21 14:35:02

C++项目参考解答:小试循环的相关文章

C++项目参考解答:求Fibonacci数列

[项目:求Fibonacci数列] Fibonacci数列在计算科学.经济学等领域中广泛使用,其特点是:第一.二个数是1,从第3个数开始,每个数是其前两个数之和.据此,这个数列为:1 1 2 3 5 8 13 21 34 55 89 --,请设计程序,输出这个数列,直到这个数字超过10000. [提示]数列可以表示为: {f1=f2=1fn=fn?1+fn?2,n>2 [参考解答] #include <iostream> using namespace std; int main( )

厦门大学2016年高等代数考研试题参考解答

张祖锦第7卷第488期厦门大学2016年高等代数考研试题参考解答[5932—5953] (link, 视频讲解) 题目: http://bbs.sciencenet.cn/thread-3092647-1-1.html

[家里蹲大学数学杂志]第260期华南师范大学2013年数学分析考研试题参考解答

1已给出一个函数的表达式 $F(x)$, 其为 $f(x)$ 的原函数, 求 $\dps{\int xf(x)\rd x}$. 解答: $$\beex \bea \int xf'(x)\rd x &=\int x\rd f(x)\\ &=xf(x)-\int f(x)\rd x\\ &=xF'(x)-F(x). \eea \eeex$$ 2已知 $$\bex \sum_{i=1}^{2k}(-1)^{i-1}a_i=0. \eex$$ 试证: $$\bex \ls{n}\sum_{

[家里蹲大学数学杂志]第262期广州大学2013年数学分析考研试题参考解答

一.($3\times 15'=45'$) 1.  求 $\dps{\ls{n}(a^n+b^n)^\frac{1}{n}}$, 其中 $a>b>0$. 解答: 由 $$\bex a<(a^n+b^n)^\frac{1}{n}<2^\frac{1}{n}a \eex$$ 及 $\dps{\ls{n}2^\frac{1}{n}=1}$ (参考第二大题第 4 小题), 夹逼原理知原极限 $=a$. 2.  求 $\dps{\lim_{x\to 0}\frac{\arctan x-x}{

兰州大学2009年数学分析考研试题参考解答

1计算. (1)  \dps{ \lim_{x\to 0}\frac{\int_0^{x^2}\sin^\frac{3}{2}t\rd t}{\int_0^xt\sex{t-\sin t}\rd t} } . 解答: \bex \mbox{原式}&=&\lim_{x\to 0}\frac{2x\sin^\frac{3}{2}x^2}{x\sex{x-\sin x}}\\ &=&\lim_{x\to 0}\frac{2x^4}{x\cdot\frac{x^3}{6}}\\ &

[PeterDLax著泛函分析习题参考解答]第5章 赋范线性空间

1. (a) 证明 (6) 定义了范数. (b) 证明他们在 (5) 式移一下是等价的. 证明: $$\bex |(z,u)|'\leq |(z,u)|\leq 2|(z,u)|',\quad |(z,u)|''\leq |(z,u)|\leq \sqrt{2}|(z,u)|''. \eex$$ 2. 证明定理 2. 证明: 对 $y_1,y_2\in \bar Y$, $$\bex \exists\ Y\ni y_{1n}\to y_1,\quad Y\ni y_{2n}\to y_2, \e

兰州大学2005年数学分析考研试题参考解答

1(10′ )判断下列命题是否正确. (1) 设数列 {xn} 满足: ? p∈N, limn→∞(xn+p?xn)=0 . 则 {xn} 收敛. 解答: 错! 比如对 xn=∑ni=11i 有 limn→∞(xn+p?xn)=limn→∞(1n+1+?+1n+p)=0, ? p∈N. 但 {xn} 发散. (2) 设 f(x) 在 [a,b] 上 Riemann 可积, 则 f(x) 在 [a,b] 上一定有原函数. 解答: 错! 因为任一仅具有有限多个跳跃间断点的函数 f 均是 Rieman

[PeterDLax著泛函分析习题参考解答]第4章 Hahn-Bananch 定理的应用

1. 证明: 若在 4.1 节中取 $S=\sed{\mbox{正整数}}$, $Y$ 是收敛数列构成的空间, $\ell$ 由 (14) 式定义, 则由 (4) 给出的 $p$ 和由 (11) 定义的 $p$ 相等. 证明: $$\bex p(x)=\inf_{x\leq y\in Y}l(y)=\inf_{a_n\leq b_n,\sed{b_n}\in Y}\vlm{n}b_n. \eex$$ 由 $a_n\leq b_n$ 知 $$\bex \vls{n}a_n\leq \vlm{n}b

[PeterDLax著泛函分析习题参考解答]第2章 线性映射

1. 验证两个线性映射的复合仍是线性映射而且满足分配律: $$\bex {\bf M}({\bf N}+{\bf K})={\bf M}{\bf N}+{\bf M}{\bf K},\quad ({\bf M}+{\bf K}){\bf N}={\bf M}{\bf N}+{\bf K}{\bf N}. \eex$$ 2. 证明定理 1. 证明: 证 (iii). 定义 $$\bex {\bf M}:\quad X/ N_{{\bf M}}\ni [x]\to {\bf M} x\in R_{{