- 博客(5)
- 收藏
- 关注
原创 大整数的四则运算
首先我们用一个结构体bigNumber来存储一个大整数。struct bigNumber{ int d[1000];//用数组存储每一位数字,低位对应低位数组元素,高位对应高位数组元素。 int len;//用于存储大整数的长度 bigNumber() { //初始化 memset(d,0,sizeof(d)); len = 0; }};接下来写一个函数将一个字符数组存储的...
2019-08-04 20:55:12
369
原创 最大公约数和最小公倍数的求法
求最大公约数:辗转相除法即欧几里得算法:int gcd(int x,int y){ int t=1; while(t!=0){ t = x%y; x = y; y = t; } return x;}求最小公倍数:公式法:假设t1为a,b的最大公约数,t2为a,b的最小公倍数,则有a * b = t1 * t...
2019-07-23 13:38:18
708
原创 快速幂通俗解释
一般的求一个数的n次方是这样的:typedef long long ll;#define MOD 10000007ll POW(ll x,ll n){ ll i=1; ll result=1; while(i<=n){ result=(result*x)%MOD;//要不要取余看情况,一般是要的不然数据太大会超出long lon的数据范围 ...
2019-07-23 12:51:33
156
原创 HDOJ1013 九余数算法
点击这里查看原题解题思路:因为数据很大,所以用int、long、long long等会超时。我们可以用字符数组来存储这个数然后将每位数相加起来除以9的余数就是这个数的数根。九余数定理:一个整数对9取余的结果与这个整数的各位数字之和取余9的结果相同。九余数定理的证明代码如下:#include<iostream>#include<cstring>using nam...
2019-07-12 23:48:23
222
原创 POJ 1979:Red and Black
题目连接这是一道简单的深度优先搜索题,题目大意是指在一个H x W的矩阵中有黑红两种砖块 ".“表示黑块,”#“表示红块,从你所在的位置向上下左右四个方位走,只能走黑块,求可走的黑块数量(包括自己本身).思路:首先找到自身所在的点(x,y),然后从这个点的四个方向出发判断是否可走,若可走则标记已访问,并且以这个可走点进行递归直到走完所有点。代码:#include<iostream&g...
2019-06-30 22:18:05
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人