21xrx.com
2024-12-22 22:47:40 Sunday
登录
文章检索 我的文章 写文章
如何用C++求奇数和
2023-07-04 18:03:29 深夜i     --     --
C++ 奇数 求和

奇数是指不能被2整除的整数。想要用C++求奇数和,需要先明确奇数的概念以及如何判断一个数字是否为奇数。

在C++中,可以使用取模运算符“%”来判断一个数字是否为奇数。如果一个数除以2的余数为1,则这个数是奇数。否则,这个数是偶数。

下面给出一个简单的C++程序,用于求1到100之间的所有奇数的和:


#include <iostream>

using namespace std;

int main()

{

  int sum = 0;

  for (int i = 1; i <= 100; i += 2)

  {

    sum += i;

  }

  cout << "1到100之间的所有奇数的和为:" << sum << endl;

  return 0;

}

在这个程序中,使用了一个for循环来遍历1到100之间所有的奇数。每次循环,将当前的奇数累加到变量sum中,并最终输出求和的结果。

如果想要求别的范围内的奇数和,只需要修改for循环的起始和终止值即可。例如,如果想要求1到50之间的所有奇数的和,只需要将代码中的循环改为:


for (int i = 1; i <= 50; i += 2)

{

  sum += i;

}

除了使用循环来求奇数和之外,还可以使用递归函数来实现。下面给出一个示例代码,用于求1到n之间所有的奇数的和:


#include <iostream>

using namespace std;

int sumOfOdd(int n) {

  if (n == 1)

    return n;

  

  else if (n % 2 == 0) {

    return sumOfOdd(n - 1);

  }

  else {

    return n + sumOfOdd(n - 2);

  }

}

int main() {

  int n, sum;

  cout << "请输入一个整数n:" << endl;

  cin >> n;

  sum = sumOfOdd(n);

  cout << "1到" << n << "之间的所有奇数的和为:" << sum << endl;

  return 0;

}

这个程序中定义了一个sumOfOdd函数,用于递归地求奇数和。在函数中,首先判断n是否等于1,如果是,则已经到达了递归边界,直接返回1;否则,判断n是否为偶数,如果是,则递归求(n-1)到1之间的奇数和;如果不是,则递归求(n-2)到1之间的奇数和,并将n加上这个值作为结果返回。

总之,C++可以很方便地实现求奇数和的功能,通过循环和递归两种不同的方式,可以满足各种不同的需求。以上就是如何用C++求奇数和的简介。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复