num 이 입력되면 1 ~ num 각각의 숫자의 약수의 개수를 모두 출력 해 준다.
배수로 더해가면서 계산을 줄여준다.
#include <iostream>
using namespace std;
int cnt[50000] = {0};
int main(int argc, char** argv) {
int num = 0;
int i, j;
// freopen("input.txt", "rt", stdin);
scanf("%d", &num);
for(i = 1; i <= num; i++)
{
for(j =i; j <= num; j += i)
{
cnt[j]++;
}
printf("%d ", cnt[i]);
}
return 0;
}