(1)做了蓝桥杯一道训练题 审美课,一开始并无思路,上网搜了下发现用map容器去做很简单,也很巧妙,不由得感叹map的好用,之前做一道某公司面试题的时候也是纠结了很久,最后用map完成的,以后要多注意一下这个了。
(2)如何分解质因数
(3)素因子去重:为何用递归方法去做会出现dev停止运行的情况??
#include<iostream>
using namespace std;
typedef long long ll;
ll prime[1000000],p=0;
ll m,k;
ll digui(ll m,ll k){
if(m==k){
prime[p++]=m;
return 0;
}
else if(m%k==0){
prime[p++]=m;
digui(m/k,k);
}
else{
digui(m,k++);
}
return 0;
}
int main(){
ll i,j;
cin>>m;
digui(m,2);
cout<<p;
return 0;}
(4)C++控制输出保留有效数字:setprecision(int m);
小数点后保留m位cout<<fixed<<setprecision(int m);
(5)
相邻两个自然数互质;
相邻两个奇数互质;
两个整数的乘积等于其最大公约数与最小公倍数的乘积。
(6)
自然数a,b互质,则不能表示成ax+by(x,y为非负整数)的最大整数是ab-a-b.
(7)优先队列(插入,删除,并且最大堆最小堆排列非常好用)
大堆:priority_queue<int>q;
小堆:priority_queue<int,vector<int>,greater<int> >
8) 函数参数中注意m++和++m不同
(9)string和gets()以及字符串的转换关系 string=string+字符
(10)蓝桥杯真题买不到的数目总结:两个数组成的数,可用单重for循环
(11)(-x)++是不对的,不能带括号,x++只能放等式右边
(12) i<=sqrt(m)比i*i<=m要快