解题思路:
注意事项:
参考代码:
#include <iostream> #include <stdlib.h> #include <stdbool.h> #include <stdio.h> #include <math.h> using namespace std; int dp(int start,int a){ int r = 1; int ah = sqrt(a); int a2; int i; for(i=start;i<=ah;i++){ if(0==a%i){ a2 = a / i; if(a2 < i){ break; } r += dp(i,a2); } } return r; } int main() { int a = 0; int n = 0; cin>>n; while(n--){ cin>>a; int r = dp(2,a); printf("%d\n",r); } return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
C二级辅导-阶乘数列 (C语言代码)浏览:736 |
简单的a+b (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:628 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:934 |
C语言考试练习题_保留字母 (C语言代码)浏览:743 |
Cylinder (C语言描述,蓝桥杯)浏览:1279 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)from DQM浏览:773 |
a+b浏览:452 |
打印十字图 (C语言代码)浏览:2822 |