#include<bits/stdc++.h>
using namespace std;
vector<int> solve(int x)
{
vector<int> ans;
for(int i=1;i<=x/i;i++)
{
if(x%i==0)
{
ans.push_back(i);
if(x/i!=i) ans.push_back(x/i);
}
}
sort(ans.begin(),ans.end());
return ans;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int x;
cin>>x;
auto ans=solve(x);
for(auto i:ans)
cout<<i<<" ";
cout<<endl;
}
}
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
int main()
{
int n;
cin>>n; unordered_map<int,int>mp;
while(n--)
{
int x;
cin>>x;
for(int i=2;i<=x/i;i++)
{
while(x%i==0)
{
mp[i]++;
x=x/i;
}
}
if(x>1) mp[x]++;
}
long long ans=1;
for(auto i:mp) ans=ans*(i.second+1)%mod;
cout<<ans;
}
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
int main()
{
int n;
cin>>n;
unordered_map<int,int>mp;
while(n--)
{
int x;
cin>>x;
for(int i=2;i<=x/i;i++)
{
while(x%i==0)
{
mp[i]++;
x=x/i;
}
}
if(x>1 )mp[x]++;
}
long long ans=1;
for(auto i:mp)
{ long long a=i.first,b=i.second; long long t=1;
for(int i=1;i<=b;i++)
t=(t*a+1)%mod;//p+p2+p3+p4+pn
ans=ans*t%mod;//不同质因数为底的因子相乘也是一个因子
}
cout<<ans;
}
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int a,b;
cin>>a>>b;
int ans=gcd(a,b);
cout<<ans<<endl;
}
}
标签:约数,int,cin,long,问题,ans,题库,模板
From: https://blog.csdn.net/hui_le4/article/details/140363347