计算在C ++中将'n'表示为奇数和的计数方法

给定整数n作为输入。目的是找到可以将“ n”表示为奇数整数之和的方式数量。例如,如果n为3,则可以表示为总和(1 + 1 + 1)和(3),因此总共有2种方式。

例如

输入值

n=6
输出结果
Count of ways to express ‘n’ as sum of odd integers are: 8

说明

The ways in which we can express ‘n’ as sum of odd integers −

1. 1+1+1+1+1+1

2. 3+1+1+1

3. 1+3+1+1

4. 1+1+3+1

5. 1+1+1+3

6. 3+3

7. 1+5

8. 5+1

输入值

n=9
输出结果
Count of ways to express ‘n’ as sum of odd integers are: 34

说明

The some of the ways in which we can express ‘n’ as sum of odd integers:

1. 1+1+1+1+1+1+1+1+1

2. 3+3+3

3. 5+3+1

4. 7+1+1

5. ….and other such combinations

以下程序中使用的方法如下-

在这种方法中,我们将检查将数字表示为来自第n-1和第n-2个数字的先前数字的奇数整数之和的方式。方式将是方式(n-1)+方式(n-2)。

  • 以整数n作为输入。

  • 功能 odd_ways(int n) 接受一个数字,然后返回将“ n”表示为奇数整数之和的方式计数。

  • 取长度为n + 1的数组arr来存储用于将数字表示为奇数整数之和的计数方式。

  • 对于数字0,没有这种方法,因此请将arr [0]设置为0。

  • 对于数字1,只有一种方法,因此将arr [1]设置为1。

  • 对于其余的数字,我们可以在2到n之间为i设置arr [i]和arr [i-1] + arr [i-2]。

  • 最后,对于n表示为奇数整数之和的方式数,我们有arr [n]。

  • 返回arr [n]作为结果。

示例

#include<iostream>

using namespace std;

int odd_ways(int n){

   int arr[n+1];

   arr[0] = 0;

   arr[1] = 1;

   for(int i = 2; i <= n; i++){

      arr[i] = arr[i-1] + arr[i-2];

   }

   return arr[n];

}

int main(){

   int n = 6;

   cout<<"Count of ways to express ‘n’ as sum of odd integers are: "<<odd_ways(n);

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Count of ways to express ‘n’ as sum of odd integers are: 8

以上是 计算在C ++中将'n'表示为奇数和的计数方法 的全部内容, 来源链接: utcz.com/z/326299.html

回到顶部