数论
相思明月楼
学生一枚,所言之处,如有不当,敬请指正。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ICPC2017南宁邀请赛1001&&HDU6182 A Math Problem
Problem Description You are given a positive integer n, please count how many positive integers k satisfy kk≤n . Input There are no more than 50 test cases. Each case only contains ...原创 2018-08-15 10:35:01 · 584 阅读 · 0 评论 -
逆元的意义及求法
快速幂求逆元:int q_pow(int a,int n,int m) { int ans = 1; while(n) { if (n&1) { ans = ans*a%m; } a = a*a%m; n >>= 1; } ...原创 2018-06-08 21:00:53 · 1365 阅读 · 0 评论 -
poj 1061 青蛙的约会(拓展欧几里得)
Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了...原创 2018-06-08 21:43:29 · 428 阅读 · 0 评论 -
1046 A^B Mod C (快速幂)
给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Input示例3 5 8Output示例3#include <iostream> #define ll long longusing namespace std; ...原创 2018-06-15 20:49:14 · 477 阅读 · 0 评论 -
1014 X^2 Mod P
1014 X^2 Mod PX*X mod P = A,其中P为质数。给出P和A,求<=P的所有X。Input两个数P A,中间用空格隔开。(1 <= A < P <= 1000000, P为质数)Output输出符合条件的X,且0 <= X <= P,如果有多个,按照升序排列,中间用空格隔开。如果没有符合条件的X,输出:No SolutionInput示例1...原创 2018-06-15 21:09:56 · 338 阅读 · 0 评论 -
数字1的数量
给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。Input输入N(1 <= N <= 10^9)Output输出包含1的个数Input示例12Output示例5解法: 1位数的情况: 大于等于1的时候,有1个,小于1就没有。 2...原创 2018-06-19 11:02:06 · 1287 阅读 · 0 评论 -
HDU 1166 敌兵布阵(树状数组 单点更新,区间查询)
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。...原创 2018-07-25 20:57:39 · 289 阅读 · 0 评论 -
HDU 1566 Color the ball(树状数组 区间更新,单点查询)
Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 10...原创 2018-07-25 21:06:15 · 581 阅读 · 0 评论 -
矩形覆盖
问题描述:用n个2*1的小矩形覆盖一个2*n的大矩形,问一共可以有多少种覆盖方法?根据图片可以容易的得出公式代码实现:int RectCover(int n) { if(n==1) { return 1; } else if(n==2) { return 2; } else { return RectCover(n-1) + RectCover(n-2)...原创 2018-07-22 08:14:06 · 310 阅读 · 0 评论 -
HDU 1757 A Simple Math Problem(矩阵快速幂)
Problem Description Lele now is thinking about a simple function f(x). If x < 10 f(x) = x. If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10); And ai(...原创 2018-08-10 11:43:28 · 366 阅读 · 0 评论 -
51Nod 1003 阶乘后面0的数量(思路+递归)
题目大意:求n的阶乘末尾有多少个0.#include <iostream>#include <vector>#include <cstdio>using namespace std;int f(int n) { if(n < 5) { return 0; } return n/5 + f(n/5);}...原创 2018-08-12 17:13:30 · 374 阅读 · 0 评论 -
51Nod 1004 n^n的末位数字(快速幂+模运算)
Problem给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。Input一个数N(1 <= N <= 10^9)Output输出N^N的末位数字Input示例13Output示例3#include <iostream>#include <cstdio>using namespace std;...原创 2018-08-12 17:18:31 · 423 阅读 · 0 评论 -
约瑟夫环
N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2 <= N, K <= 10^6)Output最后剩下的人的编号Input示例3 2Output示例3约瑟夫环#include <io...原创 2018-06-15 18:05:51 · 361 阅读 · 0 评论 -
HDU 6112 今夕何夕(模拟)
Problem Description 今天是2017年8月6日,农历闰六月十五。 小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨。 为了排遣郁结,它决定思考一个数学问题:接下来最近的哪一年里的同一个日子,和今天的星期数一样?比如今天是8月6日,星期日。下一个也是星期日的8月6日发生在2023年。 小贴士:在公历中,能被4整除但不能被100整除...原创 2018-08-15 10:40:10 · 750 阅读 · 0 评论 -
矩阵的和(规律)
Problem Description我们定义如下矩阵: 1/1 1/2 1/3 1/2 1/1 1/2 1/3 1/2 1/1 矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。 请求出这个矩阵的总和。 Input每行给定整数N (N<50000),表示矩阵为 N*N.当N为0时,输入结束。Output输出答案,保留2位小数。Sample In...原创 2018-08-15 10:47:09 · 2396 阅读 · 0 评论 -
HDU 1071 The area (数学求定积分)
Problem Description Ignatius bought a land last week, but he didn't know the area of the land because the land is enclosed by a parabola and a straight line. The picture below shows the area. N...原创 2018-08-15 10:53:30 · 744 阅读 · 0 评论 -
勾股数规律(任意三个数能够满足勾股定理需要满足的条件)
一、勾股数形如 一类的数称为勾股数(a,b,c为正整数)。二、一些性质1.直角三角形的两条直角边和斜边满足勾股数定理。2. . .3.当a为奇数时,,则 , . 4.当a为偶数时,, 则 , . 三、费马大定理, 当n>2时,方程没有正解。...原创 2018-08-26 13:21:47 · 14878 阅读 · 0 评论 -
求2的n次方
方法一这样最多可以计算出2的1000次方左右。#include <iostream>#include <cmath>#include <iomanip>using namespace std;int main() { int n; while(cin>>n) { cout<<fixed&l...原创 2018-08-26 16:51:10 · 3271 阅读 · 0 评论 -
HDU 6362 oval-and-rectangle(圆锥曲线+积分+函数期望)
Problem Description Patrick Star find an oval. The half of longer axes is on the x-axis with length a . The half of shorter axes is on the y-axis with length b . Patrick Star plan to ...原创 2018-08-21 11:50:46 · 489 阅读 · 0 评论 -
HDU 3037 Saving Beans (Lucas定理求大数组合数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3037#include <iostream>#include <cstdio>using namespace std;typedef long long ll;const int N = 150000;ll n, m, p;ll fac[N];void in...原创 2018-08-21 11:54:21 · 583 阅读 · 2 评论 -
欧拉函数
#include <iostream>#include <cstdio>using namespace std;const int Max = 100000;int euler[Max];void Init(){ euler[1] = 1; for(int i = 2; i < Max; i++) { euler[i]=i; ...原创 2018-08-31 18:56:55 · 398 阅读 · 0 评论 -
牛客小白月赛7 谁是神箭手
题目描述有一天,MWH突然来了兴致,想和CSL比比谁枪法好。于是他们找来了一个瓶子,比比看谁先打中这个瓶子。 给定MWH的命中率和CSL的命中率。 两人轮流射击,MWH先手,问谁获胜的概率大?输入描述:输入两个整数和,表示MWH和CSL的命中率。.输出描述:若MWH获胜的概率大,则输出"MWH"。 若CSL获胜的概率大,则输出"CSL",否则输出"equal"。输入:...原创 2018-09-15 21:22:52 · 889 阅读 · 0 评论 -
HDU 1753 大明A+B
Problem Description话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。 Input本题目包含多组测试数据,请处理到文件结束。每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。 Out...原创 2018-06-11 21:17:43 · 303 阅读 · 0 评论 -
任意进制转换
输入一个十进制正整数,然后输出它所对应的八进制数。输入格式输入一个十进制正整数 n(1 \leq n \leq 10^6)n(1≤n≤106) 。输出格式输出 nn 对应的八进制数,输出在一行。样例输入10样例输出12代码:#include <iostream>using namespace std;int main() { int n, ans[100], t; ...原创 2018-06-02 21:15:02 · 741 阅读 · 0 评论 -
绝对值最小的数
输入 10个数,找出其中绝对值最小的数,将它和最后一个数交换。输入格式输入一行包括 10 个绝对值不超过 10001000 的整数。输出格式输出 10 个交换后的整数,答案输出在一行。样例输入10 2 30 40 50 60 70 80 90 100样例输出10 100 30 40 50 60 70 80 90 2 #include <cm...原创 2018-06-02 21:36:47 · 3122 阅读 · 0 评论 -
判断点是否在三角形内部
判断点是否在三角形内概述给定三角形ABC和一点P(x,y),判断点P是否在ABC内。这是游戏设计中一个常见的问题。也是《算法竞赛入门经典(第一版)》中5.4.3节“果园中的树”中的问题。重心法该方法简单易懂,速度也快,只是多了点向量运算的知识。 在xy坐标系平面中有一个三角形ABC,P是xy平面上的任一点,如下图所示。 对于平面内任意一点P,都可以由如下方程来表示:AP = u*AC + v*A...原创 2018-06-02 21:52:25 · 2499 阅读 · 0 评论 -
皮克定理(计算多边形面积)
皮克定理:用于计算点阵中顶点在格点上的多边形的面积;公式表达为2S= 2a + b - 2.S表示多边形的面积,a表示多边形内部的点数,b表示多边形边界上的点数。假设有一个直角三角形,它的两条直角边上的点数分别为x、y,那么它的斜边上的点数等于gcd(x,y);验证:...原创 2018-06-03 11:08:42 · 12955 阅读 · 0 评论 -
三角形的内点数(计蒜客)
在一个平面坐标系中,我们可以选出三个不全在一条线上的点构成一个三角形。我们称一个在三角形内(不包含三角形的边上),横纵坐标皆为整数的点位这个三角形的内点。 对于一个由(0,0)、(n,m)、(p,0)作为顶点构成的三角形,请你设计程序求出他的内点数。输入包括一行,包括三个用空格分隔的整数,分别为n,m,p(0 ≤ n < 32000,0 < m < 32000,0 < p ...原创 2018-06-03 11:53:09 · 769 阅读 · 0 评论 -
求任意两个数的最大公因数和最小公倍数
有A和B两个整数最大公因数: 在A和B的因数中能同时整除A和B的最大的数。 求法:辗转相除法(欧几里得算法)int gcd(int m , int n){ int r = 0 ; while(n){ r = m%n; m = n; n = r; } return m;}在C++ algorithm头文件中...原创 2018-06-03 12:12:47 · 2963 阅读 · 0 评论 -
求大数的阶乘
对于大数来说,一个数的阶乘是非常大的,同样,一个int类型的整数,他的阶乘就有可能会很大。就拿50来说,他的阶乘位数是65位,就已经远远超过了long long int类型的最大值。这时候,我们要通过字符串的方法,来进行阶乘的运算。当然,需要注意的是:我们所求一个数的阶乘,这个数是在int范围内的,5000的阶乘位数是16326位。其方法是:首先,我们是可以先求一定范围内的最大值的阶乘位数,以便于...原创 2018-06-03 17:24:15 · 928 阅读 · 0 评论 -
平方倒数和 (计蒜客) + 一些数论公式
求以下三数的和,1-a1−a 之和,1-b1−b 的平方和,1-c1−c 的倒数和。输入格式输入三个数字 a,b,c(1\leq a \leq 100,1\leq b \leq 1000,1\leq c \leq 10000)a,b,c(1≤a≤100,1≤b≤1000,1≤c≤10000)。输出格式输出 1+2+\ldots +a + 1^2 + 2^2+\ldots +b^2 + \frac{...原创 2018-06-03 18:55:33 · 3434 阅读 · 0 评论 -
世界上最完美的公式 ----欧拉公式
复变函数论里的欧拉公式: e^ix=cosx+isinx,e是自然对数的底,i是虚数单位。它将三角函数的定义域扩大到复数,建立了三角函数和指数函数的关系,它在复变函数论里占有非常重要的地位. 将公式里的x换成-x,得到: e^-ix=cosx-isinx,然后采用两式相加减的方法得到: sinx=(e^ix-e^-ix)/(2i),cosx=(e^ix+e^-ix)/2.这两个也叫做欧拉公式...原创 2018-06-03 18:57:19 · 6560 阅读 · 0 评论 -
判断一个数是否为回文数
判断一个数字是否位回文,不能使用额外的空间。一些小提示:负数可能是回文吗?(-123321)最简单的就是转换成字符串,然后判断。但是本题要求不使用额外的空间你也可以考虑将数字反转,但是这样的话,好像很容易溢出哦~所以,这里肯定有一个好办法。希望你能够想出来哦~格式:输入有若干行,每一行输入对应一行输出,直到遇到终止符号。判断是否为回文,是,输出true,否则输出false。样例输入10001100...原创 2018-06-03 22:03:16 · 714 阅读 · 0 评论 -
HDU 1715 大斐波拉契数
Problem DescriptionFibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3。计算第n项Fibonacci数值。 Input输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。 Output输出为N行,每行为对应的f(Pi)。 Sample Input512345 Sample Outp...原创 2018-06-11 20:53:16 · 424 阅读 · 0 评论 -
简单素数筛法
小度机器人最近正在添加功能,Robin希望小度机器人可以告诉他从1到N( 1 < N <= 10000)有多少个素数。请你来帮帮他吧?输入包括一行,仅一个数字N。输出在(1, N]区间内的所有的素数。提示:想像将(1, N]的数字看成沙子和小石头,视非素数为沙子,视素数为小石头。将沙子筛走,剩下的就是小石头了。考虑到N最大也就是10000,你可以开一个长度为10000的数组,让数组元素...原创 2018-06-02 21:04:09 · 361 阅读 · 1 评论 -
HDU 1063 Exponentiation
Problem DescriptionProblems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for man...原创 2018-06-11 21:32:38 · 819 阅读 · 0 评论 -
HDU 1316 How Many Fibs?
Problem DescriptionRecall the definition of the Fibonacci numbers: f1 := 1 f2 := 2 fn := fn-1 + fn-2 (n >= 3) Given two numbers a and b, calculate how many Fibonacci numbers are in the range [a, b]...原创 2018-06-11 21:49:16 · 321 阅读 · 0 评论 -
Stirling(斯特林)公式
斯特林公式(Stirling's approximation)是一条用来取n的阶乘的近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特林公式十分好用,而且,即使在n很小的时候,斯特林公式的取值已经十分准确。...原创 2018-06-11 21:56:12 · 4357 阅读 · 0 评论 -
HDU 1097 A hard puzzle
Problem Descriptionlcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody objects to this BT problem,so lcy makes the problem easier than begin.this...原创 2018-06-12 22:01:20 · 289 阅读 · 0 评论 -
HDU 1019 Least Common Multiple
Problem DescriptionThe least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 ...原创 2018-06-12 22:09:41 · 285 阅读 · 0 评论
分享