数论
韩小妹
回想一下自己以前所付出的努力,瞬间自信心爆棚
展开
-
Guessing Game
题目描述Stan and Ollie are playing a guessing game. Stan thinks of a number between 1 and 10 and Ollie guesses what the number might be. After each guess, Stan indicates whether Ollie's guess is too hig...原创 2018-08-08 19:11:07 · 1870 阅读 · 0 评论 -
一个简单的数学题
题目描述zyc最近迷上了数学,一天,dj想出了一道数学题来难住他。算出1/n,但zyc一时答不上来希望大家能编程帮助他。输入第一行整数T,表示测试组数。后面T行,每行一个整数 n (1<=|n|<=10^5).输出输出1/n. (是循环小数的,只输出第一个循环节).样例输入4237168样例输出0.50.30.1428570....原创 2018-08-02 09:11:12 · 498 阅读 · 0 评论 -
九的余数
题目描述现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。输入第一行有一个整数m(1<=m<=8),表示有m组测试数据; 随后m行每行有一个自然数n。输出输出n整除九之后的余数,每次输出占一行。样例输入345465456541样例输出454题解:利用同余定理,让一个数的每个位上的数...原创 2018-08-02 09:08:40 · 604 阅读 · 0 评论 -
超级台阶
题目描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。输出对于每个测试实例,请输出不同走法的数量。样例输入223...原创 2018-08-02 09:04:08 · 97 阅读 · 0 评论 -
次方求模
题目描述求a的b次方对c取余的值输入第一行输入一个整数n表示测试数据的组数(n<100)每组测试只有一行,其中有三个正整数a,b,c(1=<a,b,c<=1000000000)输出输出a的b次方对c取余之后的结果样例输入32 3 53 100 1011 12345 12345样例输出3110481题解:/*快速求...原创 2018-08-01 21:16:34 · 178 阅读 · 0 评论 -
阶乘因式分解(二)
题目描述给定两个数n,m,其中m是一个素数。将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。注:^为求幂符号。输入第一行是一个整数s(0<s<=100),表示测试数据的组数随后的s行, 每行有两个整数n,m。输出输出m的个数样例输入3100 516 21000000000 13样例输出24158...原创 2018-08-01 21:07:08 · 196 阅读 · 0 评论 -
汉诺塔(一)
题目描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将...原创 2018-08-01 15:50:55 · 784 阅读 · 0 评论 -
数的长度
题目描述N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?输入首行输入n,表示有多少组测试数据(n<10) 随后n行每行输入一组测试数据 N( 0 < N < 1000000 )输出对于每个数N,输出N!的(十进制)位数。样例输入31332000样例输...原创 2018-08-01 11:42:04 · 158 阅读 · 0 评论 -
丑数
题目描述如果一个数的素因子只包含2,3,5或7,那么我们把这种数叫做丑数。序列1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27...展示了前20个丑数。请你编程寻找这个序列中的第n个元素。输入输入包含多组测试数据。每组输入为一个整数n(1<=n<=5842),当n=0时,输入结束。输出对于每组输入,输出一行“Th...原创 2018-08-01 11:13:06 · 1656 阅读 · 0 评论 -
取石子(一)
题目描述一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N(1<=N<=1000000),两个人轮番取出其中的若干个,每次最多取M个(1<=M<=1000000),最先把石子取完者胜利。我们知道,TT和他/她的室友都十分的聪明,那么如果是TT先取,他/她会取得游戏的胜利么?...原创 2018-08-01 11:08:22 · 927 阅读 · 0 评论 -
p次方求和
题目描述一个很简单的问题,求1^p+2^p+3^p+……+n^p的和。输入第一行单独一个数字t表示测试数据组数。接下来会有t行数字,每行包括两个数字n,p,输入保证0<n<=1000,0<=p<=1000。输出输出1^p+2^p+3^p+……+n^p对10003取余的结果,每个结果单独占一行。样例输入210 110 2样例输出...原创 2018-08-02 09:15:32 · 820 阅读 · 0 评论 -
最大的最小公倍数
题目描述 高中时我们对最小公倍数就已经很熟悉了,相信你很快就可以把这个问题解决。这次的问题是:给你一个正整数n,任取三个不大于n的正整数,取法不限,每个数可取多次,使得取到的这三个数的最小公倍数在所有取法中是最大的。 例如当n = 5 时,不大于5的数为1、2、3、4、5。则应该选3、4、5三个数,它们的最小公倍数是60,在所有取法中是最大的。因此我们得到结果60。 是不是很简单...原创 2018-08-02 09:48:18 · 489 阅读 · 0 评论 -
去“5”排序
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。 你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。 Input输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。 ...原创 2018-08-08 10:55:21 · 187 阅读 · 0 评论 -
最大数问题
【问题描述】设有n个正整数,将他们连接成一排,组成一个最大的多位整数.例如:n=3时,3个整数13,312,343,连成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613【输入】第1行一个正整数L,代表测试数据的组数。接下来L行,每行第一个是正整数N(1<=N<=6),该行接下来有N个正整数Mi(1<...原创 2018-08-07 21:14:53 · 667 阅读 · 0 评论 -
半素数问题
Prime Number Definition An integer greater than one is called a prime number if its only positive divisors (factors) are one and itself. For instance, 2, 11, 67, 89 are prime numbers but 8, 20, 27...原创 2018-08-07 19:06:44 · 4364 阅读 · 0 评论 -
求三个数 和为1——贪心算法
描述给出一个长度为N的无序数组,数组中的元素为整数,有正有负包括0,并互不相等。从中找出所有和 = 0的3个数的组合。如果没有这样的组合,输出No Solution。如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则按照第二小的数排序。Input第1行,1个数N,N为数组的长度(0 <= N <= 1000) 第2 - N + 1行:Aii(-10^9...原创 2018-08-07 19:01:20 · 1142 阅读 · 0 评论 -
最大素因子
题目描述GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整数n,要求我们求出n的最大素因子的序数,例如:2的序数是1,3的序数是2,5的序数是3,以此类推. 研究数论是需要很大的耐心的,为了惩罚那些没有耐心读完题目的童鞋,我们规定:1的最大素因子序数是0.输入有多组测试数据,每一行输入一个数字n.(0<n<=1000000)输出在接下来的...原创 2018-08-02 20:47:49 · 1455 阅读 · 0 评论 -
A*B Problem
题目描述设计一个程序求出A*B,然后将其结果每一位相加得到C,如果C的位数大于等于2,继续将C的各位数相加,直到结果是个一位数k。例如:6*8=48;4+8=12;1+2=3;输出3即可。输入第一行输入一个数N(0<N<=1000000),表示N组测试数据。随后的N行每行给出两个非负整数m,n(0<=m,n<=10^12)。输出对于...原创 2018-08-02 17:04:35 · 738 阅读 · 0 评论 -
街区最短路径问题
题目描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求现在这个邮局应该建在那个地方使得所有住户距离之和最小; 输入第一行一个整数n<20,表示有n组测试...原创 2018-08-02 15:23:34 · 102 阅读 · 0 评论 -
擅长排列的小明 II
题目描述小明十分聪明,而且十分擅长排列计算。有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5......n满足以下情况的排列:1、第一个数必须是12、相邻两个数之差不大于2你的任务是给出排列的种数。输入多组数据。每组数据中输入一个正整数n(n<=55).输出输出种数。样例输入4样例输出4题解:/*...原创 2018-08-02 14:49:18 · 166 阅读 · 0 评论 -
光棍节的快乐
题目描述光棍们,今天是光棍节。聪明的NS想到了一个活动来丰富这个光棍节。规则如下:每个光棍在一个纸条上写一个自己心仪女生的名字,然后把这些纸条装进一个盒子里,这些光 棍依次抽取一张纸条,如果上面的名字就是自己心仪的女生,那么主持人就在现场给该女生打电话,告诉这个光棍对她的爱慕之情,并让光棍当场表白,并得到现场所有人的祝福,没抽到的,嘿嘿就可以幸免了。假设一共有N个光棍,其中有M个没...原创 2018-08-02 11:08:15 · 170 阅读 · 0 评论 -
一个数学问题
题目描述给你两个整数n和m,请你计算有多少个整数对(a,b)满足以下条件:当0<a<b<n时,(a^2+b^2+m)/(ab)是一个整数。输入输入包含多组测试数据。每组输入为两个整数n和m(0<n<=100),当n=m=0时,输入结束。输出对于每组输入,输出样例标号和满足要求的整数对的个数。样例输入10 120 330 40 0...原创 2018-08-01 11:05:25 · 247 阅读 · 0 评论 -
阶乘的和
题目描述有些数可以表示成若干个不同阶乘的和。例如,9=1!+2!+3!。小明对这些数很感兴趣,所以他给你一个正整数n,想让你告诉他这个数是否可以表示成若干个不同阶乘的和。输入输入包含多组测试数据。每组输入为一个非负整数n(n<=1000000),当n为负数时,输入结束。输出对于每组输入,如果n可以表示成若干个不同阶乘的和,则输出YES,否则输出NO。样例输入9...原创 2018-08-01 11:02:56 · 846 阅读 · 0 评论 -
求a对b的取余运算
#include<iostream>#include<string>using namespace std; int main(){ string a; int b; cin >> a >> b; int len = a.length(); int ans = 0; for(int i = 0...原创 2018-08-01 10:14:53 · 2628 阅读 · 0 评论 -
分拆素数和
题目描述把一个偶数拆成两个不同素数的和,有几种拆法呢?输入输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。输出对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。样例输入30260样例输出32题解:先利用筛选法求出前10000以内的所有素数,再用这些素数去枚举要求的和。代码:#includ...原创 2018-07-31 09:58:30 · 301 阅读 · 0 评论 -
表达式求值
题目描述实现输入一个表达式求出它的值的计算器,比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数)输入第一行输入一个整数n,共有n组测试数据(n<10)。 每组测试数据只有一行,是一个长度不超过1000的字符串,表示这个运算式,每个运算式都是以“=”结束。这个表达式里只包含+-*/与小括号这几种符号。其中小括号可以嵌套使用。数据保证输入的操作数中不会出现负数。 数据...原创 2018-08-04 16:34:32 · 318 阅读 · 0 评论 -
2^x mod n = 1
题目描述给你一个正整数n,要求你找到最小的x(x>0)满足2^x mod n = 1。输入输入包含多组测试数据。每行一个正整数,代表n的值。输出如果最小的x存在,则输出2^x mod n = 1(注意x和n要用具体的值代替),否则输出2^? mod n = 1。样例输入25样例输出2^? mod 2 = 12^4 mod 5 = 1题解...原创 2018-08-03 21:34:41 · 1946 阅读 · 1 评论 -
关于坐标
Starting from point (0,0) on a plane, we have written all non-negative integers 0, 1, 2,... as shown in the figure. For example, 1, 2, and 3 has been written at points (1,1), (2,0), and (3, 1) respect...原创 2018-08-03 20:58:12 · 173 阅读 · 0 评论 -
有趣数——CodeForces - 831A
如果数组满足以下三个条件,则这个数组是有趣的:它刚开始是严格递增的 之后是不变的 再之后它是严格递减的但除了第二个条件,其他两个条件(递增和递减)不存在的数组也可以是有趣的。例如,以下三个数组是有趣的: [5, 7, 11, 11, 2, 1], [4, 4, 2], [7], 但以下三个却不是有趣的: [5, 5, 6, 6, 1], [1, 2, 1, 2], [4, 5, 5,...原创 2018-08-03 20:55:57 · 245 阅读 · 0 评论 -
N对2的幂进行分解
任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4 Input输入一个数N(1 <= N <= 10^6...原创 2018-08-03 20:46:05 · 578 阅读 · 0 评论 -
求i^k之和——HDU - 6027
You are encountered with a traditional problem concerning the sums of powers. Given two integers n and k. Let f(i)=, please evaluate the sum= f(1)+f(2)+...+f(n). The problem is simple as it looks, ap...原创 2018-08-03 20:20:49 · 436 阅读 · 0 评论 -
判断是否是3的倍数
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2). InputInput consists of a sequence of lines, each containing an integer n. (n < 1,000,000). ...原创 2018-08-03 20:13:56 · 11572 阅读 · 0 评论 -
时间复杂度
我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分。例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如果代码中出现 fori=1;i<=n; i++) for(j=i+1;j<=n; j++) OP; 那么做了n*(n-1)/2 次OP 操作。 现在给你已知有m层for循环操作,且每次for中变量...原创 2018-08-03 20:08:34 · 267 阅读 · 0 评论 -
素数求和问题
题目描述现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。输入第一行给出整数M代表多少组测试数据每组测试数据第一行给你N,代表该组测试数据的数量。接下来的N个数为要测试的数据,每个数小于1000输出每组测试数据结果占一行,输出给出的测试数据的所有素数和样例输入351 2 3 4 5811 12 13...原创 2018-07-31 10:12:52 · 486 阅读 · 0 评论 -
快速查找素数
题目描述现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。输入给出一个正整数数N(N<=2000000) 但N为0时结束程序。 测试数据不超过100组输出将2~N范围内所有的素数输出。两个数之间用空格隔开样例输入510110样例输出2 3 52 3 5 72 3 5 7 11题解:首先利用筛选法求200...原创 2018-07-31 10:27:15 · 240 阅读 · 0 评论 -
A^B
题目描述求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”输入输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。输出对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。样例输入2 312 66789 100000 0...原创 2018-08-01 09:41:35 · 494 阅读 · 0 评论 -
最少乘法次数
题目描述给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。如24:2*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次;输入第一行m表示有m(1<=m<=100)组测试数据;每一组测试数据有一整数n(0<n<=10000);输出输出每组测试数据所需次数s;样例输入423410...原创 2018-07-31 17:21:27 · 213 阅读 · 0 评论 -
N的N次方
题目描述现给你一个正整数N,请问N^N的最左边的数字是什么?输入输入包含多组测试数据。每组输入一个正整数N(N<=1000000)。输出对于每组输入,输出N^N的最左边的数字。样例输入34样例输出22思路:求最左边的数,范围在1000000,即要保证不超过范围,又要保证在运算过程中不丢失精度,易想到double。在最后需要特殊处理,...原创 2018-07-31 16:43:11 · 3094 阅读 · 0 评论 -
出栈序列统计
题目描述栈是常用的一种数据结构,有n个元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…,n,经过一系列操作可能得到的输出序列总数。 输入一个整数n(1<=n<=15)...原创 2018-08-05 10:49:43 · 3370 阅读 · 5 评论 -
笨鸟先飞
题目描述多多是一只小菜鸟,都说笨鸟先飞,多多也想来个菜鸟先飞。于是它从0点出发,一开始的飞行速度为1m/s,每过一个单位时间多多的飞行速度比上一个单位时间的飞行速度快2m/s,问n(0<n<10^5)个单位时间之后多多飞了多远?输入先输入一个整数T表示有几组数据。每组数据输入一个n,表示多多飞行的时间。输出输出多多飞行了多远,因为数字很大,所以对10000取模。...原创 2018-07-31 16:10:58 · 1372 阅读 · 0 评论