2749: 분해 인수

http://poj.grids.cn/practice/2749/
Description
하나의 정수 a 를 제시 하고 몇 개의 정수 곱 하기, 즉 a = a1 * a2 * a3 *............................................................a = a 도 분해 라 는 것 을 알 아 차 렸 다.
Input
첫 번 째 줄 은 테스트 데이터 의 그룹 수 n 이 고 뒤에 n 줄 을 따라 입력 합 니 다.각 조 의 테스트 데 이 터 는 1 줄 을 차지 하고 하나의 정수 a (1 < a < 32768) 를 포함한다.
Output
줄 마다 출력 이 하나의 입력 에 대응 합 니 다.수출 은 반드시 정수 로 요 구 를 만족 시 키 는 분해 종 수 를 가 리 켜 야 한다.
Sample Input
2
2
20

Sample Output
1
4
#include 
#include 
using namespace std;
int dp(int i,int n)
{
    int sum=1;
    for(;i<=sqrt(n);i++)
    {
        if(n%i==0)
        {
            sum+=dp(i,n/i);
        }
    }
    return sum;
}
int main()
{
    int n,t,ans;
    cin>>t;
    while(t--)
    {
        cin>>n;
        ans=dp(2,n);
        cout<endl;
    }
    return 0;
}

 
다음으로 전송:https://www.cnblogs.com/qijinbiao/archive/2012/04/16/2451288.html

좋은 웹페이지 즐겨찾기