C/C++分解係数
566 ワード
タイトルの説明
正の整数aが与えられ、いくつかの正の整数の積、すなわちa=a 1*a 2*a 3*...*に分解されることが要求される.an,そして1入力第1行是测试数据的集团数n,之后根据n行进力.各测试数据的套装占1条,正的整数a(1条积分n条,各条出力应对的入力.出力是正的整数,应该显示满足要求的分解的种数 2 20应用功率1 4 #include int count = 0; int func(int a,int b) { if (a == 1) return 1; if (b == 1) return 0; if (a%b == 0) return func(a/b,b)+func(a,b-1); return func(a,b-1); } int main() { int N,a; scanf("%d",&N); while (N--) { scanf("%d",&a); printf("%d",func(a,a)); } return 0; }
正の整数aが与えられ、いくつかの正の整数の積、すなわちa=a 1*a 2*a 3*...*に分解されることが要求される.an,そして1入力第1行是测试数据的集团数n,之后根据n行进力.各测试数据的套装占1条,正的整数a(1条积分n条,各条出力应对的入力.出力是正的整数,应该显示满足要求的分解的种数 2 20应用功率1 4 #include int count = 0; int func(int a,int b) { if (a == 1) return 1; if (b == 1) return 0; if (a%b == 0) return func(a/b,b)+func(a,b-1); return func(a,b-1); } int main() { int N,a; scanf("%d",&N); while (N--) { scanf("%d",&a); printf("%d",func(a,a)); } return 0; }