풀스택 개발자 2020. 9. 18. 17:31

갯수만 구하는 방법

#include<iostream>
#include<vector>
#include<string.h>
using namespace std;

int main()
{
   int j = 0;
   int cnt = 0;
   int sum = 0;
   int N = 0;
   cin >> N;
   int tmp = N / 2;

   for (int i = 1; i <= tmp; i++)
   {
      sum = i;
      j = i + 1;
      while (sum<=N)
      {
         if (sum == N)
         {
            cnt++;
            break;
         }
   
         sum = j + sum;
         j++;
      }
   }
   cout << cnt;
}

 

 

갯수+계산식까지 구하는 방법

#include<iostream>
#include<vector>
#include<string.h>
#include<string>
using namespace std;

int main()
{
	int cnt = 0;
	int i = 0;
	int tmp = 0;
	int N = 0;
	int b = 1;
	cin >> N;
	tmp = N;
	N--;
	while (N > 0)
	{
		b++;
		N = N - b;
		if (N%b == 0)
		{
			for (i = 1; i < b; i++)
			{
				cout << (N / b) + i << "+";
			}
			cout << (N / b) + i << "=" << tmp << endl;
			cnt++;
		}
	}
	cout << cnt;
}