인프런 알고리즘테스트 문제
41번 알고리즘
풀스택 개발자
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;
}