本文主要是介绍系统性训练,励志刷完挑战程序设计竞赛-代码整理103~134【初级篇】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2014年9月6日搞到这边吧,初级的刷完了,先停停,中级篇看了下目录,以前都刷过,只是没有系统的刷,准备隔几天再刷,看看java面试宝典去。预计花费10天搞完。囧~
/**/
#include<iostream>
using namespace std;/*
gcd辗转相除法,欧几里得算法 求解直线上的点,切割最小正方形
*/
int gcd(int x,int y){return y==0?x:gcd(y,x%y);
}/*
extgcd,扩展欧几里得算法
求解二元一次方程整数解 ax+by=c返回函数=号右边的解c囧:
int a声明一个int类型,名称叫a
int* a 声明一个int指针类型,名称叫a
int& a 声明一个int引用类型,名称叫a
*/int extgcd(int a,int b,int& x,int& y){int d=a;if(b!=0){d=extgcd(b,a%b,y,x);y-=(a/b)*x; } else{x=1;y=0;}return d;
}/*
快速幂运算
x^n mod m
*/
typedef long long ll;
ll mod_pow(ll x,ll n,ll m){int res=1;while(n>0){if(n&1) res=res*x%m; //如果n为奇数,原公式乘上x^(2^1),则res*x%mx=x*x%m;n>>=1; //n/2 }return res;
}/*
大整数取模
n mod m1234=(((1*10+2)*10+3)*1
这篇关于系统性训练,励志刷完挑战程序设计竞赛-代码整理103~134【初级篇】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!