给定一个正整数n,计算有多少个不同的连续自然数段

mac2024-07-24  67

给定一个正整数n,计算有多少个不同的连续自然数段,其中自然数的个数至少为2,其和恰为n。

u  例如,当n = 27时,有3 个不同的长度大于等于2 的连续自然数段的和恰为27: 2 + 3 + 4 + 5 + 6 + 7、8+ 9 + 10、13 + 14; 而单独的27不算。

 

#include<iostream> using namespace std; void Display(int a, int b, int n) //打印连续的a到b { while (a < b) { cout << a << "+"; a++; } cout << b << "=" << n << endl; } void Fun(int n) { int sum; for (int i = 1; i < n/2+1; i++) { sum = i; for (int j = i + 1; j <= n /2+1; j++) { sum = sum + j; if (sum == n) { Display(i, j, n); } if (sum > n) break; } } } int main() { int n; cout << "please input n:"; cin >> n; Fun(n); return 0; }

最新回复(0)