
数学数论
码奴生来就只知道前进
我的GitHub账号:www.github.com/Mrhuangyi
展开
-
50 Pow(x,n)
Pow(x, n)实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0...原创 2019-12-23 20:54:57 · 438 阅读 · 0 评论 -
400. 第N个数字
在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …中找到第 n 个数字。注意: n 是正数且在32为整形范围内 ( n < 231)。示例 1:输入: 3输出: 3 示例 2:输入: 11输出: 0说明: 第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, … 里是0,它是...原创 2018-06-18 15:29:40 · 2002 阅读 · 0 评论 -
319. 灯泡开关
初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。示例:输入: 3输出: 1 解释: 初始时, 灯泡状态 [关闭, 关闭, 关闭].第一轮后,...原创 2018-07-08 15:06:45 · 437 阅读 · 0 评论 -
507. 完美数
对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为“完美数”。给定一个 正整数 n, 如果他是完美数,返回 True,否则返回 False示例:输入: 28输出: True解释: 28 = 1 + 2 + 4 + 7 + 14注意:输入的数字 n 不会超过 100,000,000. (1e8)class Solution {public:...原创 2018-07-09 15:22:29 · 553 阅读 · 0 评论 -
479. 最大回文数乘积
你需要找到由两个 n 位数的乘积组成的最大回文数。由于结果会很大,你只需返回最大回文数 mod 1337得到的结果。示例:输入: 2输出: 987解释: 99 x 91 = 9009, 9009 % 1337 = 987说明:n 的取值范围为 [1,8]。 分析:直接暴力搜索是要超时的。 先确定n位数的范围,然后遍历这个区间的数字。 当n>1时,两个n位...原创 2018-08-03 22:48:32 · 1606 阅读 · 3 评论 -
812. 最大三角形面积
给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释: 这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 &lt;= points.length &lt;= 50. 不存在重复的点。 -50 &lt;= point...原创 2018-07-12 16:08:44 · 962 阅读 · 0 评论 -
LeetCode 204. 计数质数
统计所有小于非负数整数 n 的质数的数量。示例:输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。先预处理,不是素数的就标记出来class Solution {public: int countPrimes(int n) { vector<bool> isPrime(n,true); ...原创 2018-05-17 15:53:54 · 365 阅读 · 0 评论 -
172. 阶乘后的零
给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2:输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。尾随零通常由素数因子2和5产生。如果我们可以计数5s和2s的数量,我们的任务就完成了 Trailing 0s ...原创 2018-05-21 14:29:40 · 437 阅读 · 0 评论 -
1027 Colors in Mars (20)(20 分)
1027 Colors in Mars (20)(20 分) People in Mars represent the colors in their computers in a similar way as the Earth people. That is, a color is represented by a 6-digit number, where the first 2 digi...原创 2018-07-21 14:01:52 · 414 阅读 · 0 评论 -
LeetCode 7. 反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123 输出: 321 示例 2:输入: -123 输出: -321 示例 3:输入: 120 输出: 21 注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。这道题主要还是考察细节问题; ...原创 2018-05-18 12:11:50 · 142 阅读 · 0 评论 -
LeetCode 9. 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3:输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2018-05-18 12:26:43 · 669 阅读 · 0 评论 -
342. 4的幂
给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂。示例: 当 num = 16 时 ,返回 true 。 当 num = 5时,返回 false。问题进阶:你能不使用循环/递归来解决这个问题吗?循环写法:class Solution {public: bool isPowerOfFour(int num) { if(num&l...原创 2018-06-09 16:56:15 · 343 阅读 · 0 评论 -
326. 3的幂
给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 1:输入: 27 输出: true 示例 2:输入: 0 输出: false 示例 3:输入: 9 输出: true 示例 4:输入: 45 输出: false 进阶: 你能不使用循环或者递归来完成本题吗?循环写法:class Solution {public: bool isP...原创 2018-06-09 16:50:03 · 886 阅读 · 0 评论 -
组合数
例1:求n!中有多少质因子p直观想法:计算从1~n的每个数各有多少个质因子p,然后将结果累加,时间复杂度为O(nlogn).int cal(int n,int p){ int ans=0; for(int i=2;i<=n;i++){ int temp=i; while(temp%p==0){ ans++;...原创 2018-04-24 14:33:20 · 484 阅读 · 0 评论 -
L1-006 连续因子(20 分)
L1-006 连续因子(20 分) 一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。 输入格式:输入在一行中给出一个正整数N(1< N<2^31)输出格式:首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*...原创 2018-05-19 09:15:47 · 6629 阅读 · 2 评论 -
L1-009 N个数求和(20 分)
L1-009 N个数求和(20 分) 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数“分子/分母”的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(<=100)。随后一行按格式“a1/b1 a2/b2 …”给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和...原创 2018-05-19 09:30:31 · 2684 阅读 · 0 评论 -
L1-048 矩阵A乘以B(15 分)
L1-048 矩阵A乘以B(15 分) 给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵...原创 2018-05-26 10:18:41 · 6167 阅读 · 0 评论 -
202. 快乐数
编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例: 输入: 19 输出: true 解释: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + ...原创 2018-05-22 15:34:55 · 247 阅读 · 0 评论 -
1030 完美数列(25)(25 分)
1030 完美数列(25)(25 分) 给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(<= 10^5^)是输入的正整数的个数,p(<= 10^9^)是给定的参数。第二行给出N...原创 2018-06-03 10:51:16 · 2948 阅读 · 9 评论 -
258. 各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?class Solution {public: int addDigits(...原创 2018-05-27 15:33:29 · 529 阅读 · 0 评论 -
263. 丑数
编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6 输出: true 解释: 6 = 2 × 3 示例 2:输入: 8 输出: true 解释: 8 = 2 × 2 × 2 示例 3:输入: 14 输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7。 说明:1 是丑数。 输入...原创 2018-06-03 15:28:35 · 2349 阅读 · 0 评论 -
1051 复数乘法 (15)(15 分)
1051 复数乘法 (15)(15 分) 复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i^2^ = -1;也可以写成极坐标下的指数形式(R*e^(Pi)^),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的...原创 2018-06-11 15:54:47 · 2105 阅读 · 0 评论 -
1037 在霍格沃茨找零钱(20)(20 分)
1037 在霍格沃茨找零钱(20)(20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输入在1行中分别给出P和A,格式为“Galleon.Si...原创 2018-06-05 15:02:50 · 439 阅读 · 0 评论 -
1060 爱丁顿数(25)(25 分)
1060 爱丁顿数(25)(25 分) 英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(<=N)。输入格式:输入第一行给出一个正整数N(<=10^5^),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离...原创 2018-06-14 13:14:56 · 1460 阅读 · 0 评论 -
L2-014 列车调度(25 分)
L2-014 列车调度(25 分) 火车站的列车调度铁轨的结构如下图所示。\ Figure两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条...原创 2018-06-23 11:12:38 · 1159 阅读 · 0 评论 -
1049 数列的片段和(20)(20 分)
1049 数列的片段和(20)(20 分) 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这10个...原创 2018-06-09 12:03:50 · 1458 阅读 · 0 评论 -
1022 D进制的A+B (20)(20 分)
1022 D进制的A+B (20)(20 分) 输入两个非负10进制整数A和B(<=2^30^-1),输出A+B的D (1 < D <= 10)进制数。输入格式:输入在一行中依次给出3个整数A、B和D。输出格式:输出A+B的D进制数。输入样例:123 456 8 输出样例:1103#include<iostream>using...原创 2018-06-02 14:13:29 · 1920 阅读 · 0 评论 -
hdu2017新生赛
正品的概率Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0Problem Description袋中有m枚正品硬币,n枚次品硬币(次品硬币两面都有国原创 2017-11-25 18:29:07 · 507 阅读 · 0 评论