1.质数因子
输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
int main(){
long n;
cin >> n;
for(long i = 2; i <= sqrt(n) ; i++){ //从小到大的质因子,质因子不会超过它的开方
while(n % i == 0){ //所有的质数前面全部除掉,后续就不会有合因子
cout << i << " ";
n /= i; //除掉质因子
}
}
if(n - 1) //自己本身就是质数
cout << n << " ";
return 0;
2.合并表记录
#include<iostream>
#include<map>
using namespace std;
int main(){
int n;
cin >> n;
map<int, int>m;
map<int, int>::iterator it;
for (int i = 0; i < n; i++)
{
int a, b;
cin >> a >> b;
it = m.find(a);
if (it != m.end())