c++易忘简单知识点
来源:互联网 发布:天刀萝莉少女捏脸数据 编辑:程序博客网 时间:2024/05/20 08:00
1. 辗转相除法(求最小公约数&&公倍数)
int f(int n,int m){int r;if(n>m)swap(n,m);//使n为最小while(n!=0){r=m%n;m=n;n=r;}return m;//返回最大公约数}
2. gcd
int gcd(int x,int y){return y?gcd(y,x%y):x;}
3.冒泡排序
for(int i=0;i<10-1;i++) //n个数要进行n-1趟比较{for(int j=10-1;j>=i+1;j--) //每趟比较n-i次{if(a[j-1]>a[j]) //依次比较两个相邻的数,将小数放在前面,大数放在后面{int t=a[j];a[j]=a[j-1];a[j-1]=t;}}}
4. 乘法逆元
定义:
满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。
为什么要有乘法逆元呢?
当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元。
我们可以通过求b关于p的乘法逆元k,将a乘上k再模p,即(a*k) mod p。其结果与(a/b) mod p等价。
满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。
为什么要有乘法逆元呢?
当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元。
我们可以通过求b关于p的乘法逆元k,将a乘上k再模p,即(a*k) mod p。其结果与(a/b) mod p等价。
int find(int x) { int k=mod-2,ans=1; while(k) { if (k&1) ans=(lint)ans*x%mod; x=(lint)x*x%mod; k>>=1; } return ans; } x在%mod下的逆元
逆元求解
c++中string类的详解
6.结构体排序
struct program{int s;int e;}p[maxn]; struct program temp; //这里的中间量一定要是结构体类型!!! for(i=0;i<n-1;i++) for(j=n-1;j>i;j--)if(p[j-1].e>p[j].e) //冒泡排序倒着来{temp=p[j];p[j]=p[j-1];p[j-1]=temp; }
0 0
- C/C++简单知识点
- c++易忘简单知识点
- c基本易忘知识点
- C/C++ 知识点简单总结
- C语言简单知识点总结
- C 语言知识点简单介绍
- C语言常见易忘知识点总结
- C和C++难知识点,简单记
- C易错知识点
- C 易错知识点
- C易错知识点
- 黑马程序员----------------------------------------------C语言易忘基础知识点一
- 黑马程序员------------------------------------------------C语言易忘基本知识点二
- C语言学习知识点(三):简单的学习应用
- c知识点
- C 知识点
- C/C++一些易混淆的知识点
- 20160222 C基础知识点易遗漏点
- [Unity优化] Unity CPU性能优化
- 用jQuery写的简单两级树形菜单
- NASA研发首架登陆火星的人造飞行器,高效翼型飞翼实验-(普朗特-D3)试飞。
- [kuangbin带你飞]专题一 简单搜索 N - Find a way
- 内核入侵指南
- c++易忘简单知识点
- 38. Count and Say
- 大数之取摸问题
- 我为什么要写博客?
- spring(15)------spring的事务处理
- vC++ 调字体大小
- Android API Guides---App Manifest <grant-uri-permission> <instrumentation> <intent-filter>
- 登录框和操作步骤插件(大神出品)
- 苹果开发者账号类型以及区别