//计算一个数的因子的个数与因子的和 #include<iostream> #include<cmath> #include<map> using namespace std; int pre[100]; map<int ,int >mp; int main(){ int n; cin>>n; int m=sqrt(n+1); int sum=1; int pos=0; for(int i=2;i<=m;i++){ int ans=0 ; if(n%i==0){ pre[pos++]=i; while(n%i==0){ ans++; n/=i; mp[i]++; } sum*=ans+1; } } if(n>1) { pre[pos++]=n; mp[n]++; sum*=2; } int s=1; int ans=0; for(int i=0;i<pos;i++){ ans=0; for(int j=0;j<=mp[pre[i]];j++){ ans+=pow(pre[i],j); cout<<ans<<endl; } s*=ans; } cout<<s<<endl; cout<<sum<<endl; return 0; }