::begin() ? ? //迭代器 ::end() ?//迭代器 ::clear() ? //删除set容器中的所有的元素 ::empty() //判断set容器是否为空 ::max_size() //返回set容器可能包含的元素最大个数 ::size() //返回当前set容器中的元素个数?set<int> myset;
? ? myset.insert(4); ? ? myset.insert(7); ? ? myset.insert(2); ? ? myset.insert(0); ? ? myset.insert(4); ? ? set<int>::iterator it; ? ? for(it = myset.begin(); it != myset.end(); it++){ ? ? ? ? cout<< *it; ? //输出结果是:0247 ? ? }
给定?nn?个正整数?aiai,对于每个整数?aiai,请你按照从小到大的顺序输出它的所有约数。
输入格式
第一行包含整数?nn。
接下来?nn?行,每行包含一个整数?aiai。
输出格式
输出共?nn?行,其中第?ii?行输出第?ii?个整数?aiai?的所有约数。
数据范围
1≤n≤1001≤n≤100, 2≤ai≤2×1092≤ai≤2×109
输入样例:
2
6
8
输出样例:
1 2 3 6
1 2 4 8
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int n;
cin >> n;
while (n -- ){
int t;
cin >> t;
set<int>st;
int k=(int)sqrt(t);
for (int i = 1; i <=k+1; i ++ ){
if(t%i==0){
st.insert(i);
st.insert(t/i);
}
}
set<int>::iterator it;
for( it = st.begin(); it != st.end(); it++){
cout<< *it<<' ';
}
cout<<"\n";
}
}
|