麻烦liuser,关注一下。 我去交交看
#include<iostream>
using namespace std;
int n;
int dfs(int n,int m){
if(n==1) return 1;
else if(m==1) return 0;
else if(n%m==0) return dfs(n,m-1)+dfs(n/m,m);
return dfs(n,m-1);
}
int main(){
int t;
cin>>t;
for(int i=1;i<=t;i++){
cin>>n;
cout<<dfs(n,n)<<endl;
}
return 0;
}
共 2 条回复
名字虽然取得dfs,不过看样子是递归
别用 dfs ,数据比较大,感觉要超时的样子