求正约数的个数
时间限制:1秒 内存限制:128M
题目描述
给出一个正整数n的唯一分解形式n=p1^a1*p2^a2*p3^a3…pk^ak,求n的正约数的个数
输入描述
输入一个正整数k,代表可以拆出多少项,比如当n=100是可以拆成2^2*5^2,所以此时k的值为2。接下来输入k行,每行两数据表示a[i],p[i],分别代表底数和指数,底数是素数并且p1<p2<p3..<pk
输出描述
输出n的正约数的个数,保证n的范围在long long之内。
样例
输入
2 2 2 5 2
输出
9
#include<cmath>
#include<cstdio>
#include<string>
#include<cstring>
#include<iomanip>
#include<iostream>
#include<algorithm>
using namespace std;
long long fac=1,base,power;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>base>>power;
fac=fac*(power+1);
}
cout<<fac;
return 0;
}