【小模板】
__流影
读书、探知、成长、做有意义的事!
展开
-
数学小模版
求n的p次方(模版)int pow(int n, int m){ int sum=1; while (m) { if (m&1) sum=sum*n%10003; m>>=1; n=n*n%10003; } return sum;}求一个n位数N(n很大)对M求余int Mod(char* bi原创 2013-04-23 10:21:48 · 529 阅读 · 0 评论 -
次方求模 南工102
题目链接:here~~运用二分的思想,如果幂是偶数就先让结果乘以a,然后幂除2,让a再等于a的平方,直到b==0#include using namespace std;int main(){ long long n, s, a, b, c; cin>>n; while (n--) { cin>>a>>b>>c; s原创 2013-04-22 18:36:48 · 526 阅读 · 0 评论 -
NYOJ 517 最小公倍数(java实现)
题目链接:here~~采用素因子分解法求解(1~n的最小公倍数) import java.math.BigInteger;import java.util.Scanner;public class Main{ public static BigInteger f(int n) { int[] x = new int[n+1]; for(int i=1; i<=n; i+原创 2013-04-27 22:21:36 · 669 阅读 · 0 评论 -
大数模板(大数乘小数)
t=0;c=0;//大数乘i,用a数组本身保存结果 for (j = 0; j<=t; j++) { a[j]=a[j]*i+c; c=a[j]/10000; a[j]=a[j]%10000; } if (c原创 2013-04-19 21:22:45 · 564 阅读 · 0 评论 -
判断一个数是否是素数
打表:#define N 1000bool isprime[N];//是素数的为1int prime[N], nprime;void doprime(){ long long i, j; nprime = 0; memset(isprime, true, sizeof(isprime)); isprime[1] = 0; for (i=2原创 2013-04-23 08:49:09 · 522 阅读 · 0 评论 -
欧拉函数
//欧拉函数:求不超过n且与n互素的正整数的个数long long phi(long long n){ long long rea = n; for (int i=2; i*i<=n; i++) { if (n%i==0) { rea-=rea/i; do n/=i;原创 2013-04-26 10:21:14 · 605 阅读 · 0 评论 -
扩展欧几里得算法求一次同余方程的解(一个最小解的情况)
扩展欧几里得算法求一次同余方程的解(一个最小解的情况)long long X,Y;void Gcd(long long A,long long B,long long &gcd){ if(B){Gcd(B,A%B,gcd);long long t=X;X=Y;Y=t-(A/B)*Y;} else {gcd=A;X=1,Y=0;}}void GCD(long long A, long原创 2013-04-25 18:38:35 · 1926 阅读 · 1 评论 -
优化输入整型数的模板
inline int ReadInt()//优化接受int数,省时间,具体内容自己看懂,当成模板使用{ char ch = getchar(); int data = 0; while (ch '9') ch = getchar(); do { data = data*10 + ch-'0'; ch = g原创 2013-04-17 09:05:08 · 822 阅读 · 0 评论 -
判断很大的数是不是素数(模版)
#include #include #include using namespace std;#define N 5//修改产生随机数的个数,越多越准确typedef long long LL;LL random(LL n){ return (LL)((double)rand()/RAND_MAX*n+0.5);}LL multi(LL a, LL b, LL m)//原创 2013-05-02 11:20:40 · 784 阅读 · 0 评论