首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++011-C++循环+枚举

样例输入 无 样例输出 153 … 解题思路 定范围:所有的三位 100-999 列成员:100-999之间所有的自然 选类型:符合各个数位上数字的三次方和等于本身的才是特点的类型...2.是完全平方 3.前2位数字相同,后2位数字也相同 输入 无 输出 每行一个符合条件的数字 样例输入 无 样例输出 7744 … 实现方法1 定范围:所有的四位 1000-9999...输入 一行,三个不大于1000000的正整数a, b,c,两个整数之间用一个空格隔开。 输出 一个整数,即满足条件的x的最小值。...保险起见,余数不会大于被除数和除数,范围可以设定位2到三个数字中的任意一个。...输入 无 输出 三行: 第一行是此自然十进制表示; 第二行是此自然的七进制表示; 第三行是此自然的九进制表示。

29140
您找到你想要的搜索结果了吗?
是的
没有找到

算法02-入门算法枚举与模拟算法

样例输入 无 样例输出 153 … 解题思路 定范围:所有的三位 100-999 列成员:100-999之间所有的自然 选类型:符合各个数位上数字的三次方和等于本身的才是特点的类型...2.是完全平方 3.前2位数字相同,后2位数字也相同 输入 无 输出 每行一个符合条件的数字 样例输入 无 样例输出 7744 … 实现方法1 定范围:所有的四位 1000-9999...保险起见,余数不会大于被除数和除数,范围可以设定位2到三个数字中的任意一个。...输入 无 输出 三行: 第一行是此自然十进制表示; 第二行是此自然的七进制表示; 第三行是此自然的九进制表示。...样例输入 4 4 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 样例输出 1 2 3 4 5 6 7 8 9 10 11 12 13

27810

算法02-入门算法枚举与模拟算法

样例输入 无 样例输出 153 … 解题思路 定范围:所有的三位 100-999 列成员:100-999之间所有的自然 选类型:符合各个数位上数字的三次方和等于本身的才是特点的类型...2.是完全平方 3.前2位数字相同,后2位数字也相同 输入 无 输出 每行一个符合条件的数字 样例输入 无 样例输出 7744 … 实现方法1 定范围:所有的四位 1000-9999...保险起见,余数不会大于被除数和除数,范围可以设定位2到三个数字中的任意一个。...输入 无 输出 三行: 第一行是此自然十进制表示; 第二行是此自然的七进制表示; 第三行是此自然的九进制表示。...样例输入 4 4 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 样例输出 1 2 3 4 5 6 7 8 9 10 11 12 13

32810

第32天:图解大数打印,这道题如此经典!

题目:大数打印 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。...直接通过 Math.pow 函数,计算出最大的 n 位十进制,通过遍历求解。...03、题目升级版 面试官说话了,“不允许使用math.pow,请手动实现一下”,“恶毒”的面试官发问了。 不让使用 math.pow , 那我们就不使用呗。...根据上面的题解,我们已经把握到了关键,只要能找到 最大的 n 位十进制,就可以解决问题。...因为如果一个很大,肯定没办法用单个变量类型进行表达。问题也发生了转化:如何使用其他的数据类型来模拟大数的表达?

49610

面试题解:输入一个A,找到大于A的一个最小数B,且B中不存在连续相当的两个数字

昨天发的算法有一处情况没考虑到,比如加一后有进位,导致又出现重复数字的情况,修正后今天重新发一次。 比如输入99,那B应该是101 因为100有两个连续相当的0。...优化思路: 如果输入的数本身不存在重复,则加1;如果存在重复,比如我们输入的是11100234,那如果要找比11100234大的最小没有重复的,最先重复的两位数是11,那么如果想让11不重复并且比...# -*- coding: utf-8 -*- """ 题目:输入一个A,找到大于A的一个最小数B,且B中不存在连续相当的两个数字。...比如输入99,那B应该是101 因为100有两个连续相当的0 基本思路:最坏的办法 加1一直加1 直到找到有不重复的为止 优化的思路 如果输入是1099 加1后变成1100,那么他下一个不重复的如果一直加...[i]: return True i = i + 1 return False if __name__ == "__main__": #输入数字

64710

LeetCode 面试题17. 打印从1到最大的n位数

打印从 1 到最大的 n 位数[1] 描述 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。...示例 1: 输入: n = 1输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为正整数 解题思路 n其实是要打印出的数字的最大值+1的中所含0的个数,即假设n...= 3,那么要打印的最大数为 999,而999 + 1 = 1000则含有3个0; 我们总是将最高位置为1,而后边的则全为0,从而得到一个字符串stringBuilder,将其转换为int类型; 接上一步得到的...cunyu1024@foxmail.com * Website : https://cunyu1943.github.io * 公众号 : 村雨遥 * Date : 2020/4/6 11

58320

《Java从入门到失业》第一章:计算机基础知识(1.1):二进制和十六进制

小学生都知道,逢10进1,具体总结如下: 一共有0~9共10个数字 一个十进制数值由若干个数字组成,数字的数量叫位数,例如3位988 每个位上的数字取值范围为0~9 同位的两个数字相加,超过10的部分向高位进一...,剩下的部分留在原位,例如9+8=17,这就是逢10进1 相邻的2个位,差别是10倍,例如300是30的10倍 生活当中,我们使用的就是十进制数值,例如你们班里有18个漂亮的女生,一年有365天,你的口袋里就剩下...一开始2边都是000,红队得1分,就变成001,红队最多能变成999。也就是说,一个3位的记分牌,可以表示000~999共1000个数值,最大的数值是999。...到这里,我们把十进制就搞明白了,可以总结十进制的特点如下: 一共有0~9共10个数字 每个位上的数字取值范围为0~9 同位的两个数字相加,逢10进1 相邻的2个位,差别是10倍 假设一个十进制数值N,一共有...扑克牌,大家都玩过吧,里面的JQK其实就是表示11、12、13。因此,我们也可以用字母来表示,我们一般用A、B、C、D、E、F分别表示10、11、12、13、14、15。

57820

python(leetcode)-66加

给定一个由整数组成的非空数组所表示的非负整数,在该的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。...示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。...示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321。  看到题目觉得非常简单 只需要找到list的最后一个下标位置使其加一 即可。...然而天真如我 下面情况才是这题的重点 输入: [9,9,9] 输出: [1,0,0,0] 解释: 输入数组表示数字 999。  ...需要考虑进位的情况 重新思考: 笔者想到的是先将数组数字转为十进制数字,然后加一,接着按位取模得到每一位的值。

64730

python小练习

1的自然,除了1和它本身外,不能被其他自然(质数)整除的 称之为质数 代码演示: # 输入数字 num = int(input("请输入一个数字: ")) # 质数大于 1 if num > 1...实现进制之间转换 分析; dec(十进制)—> bin(二进制) dec(十进制)—> oct(八进制) dec(十进制)—> hex(十六进制) 代码演示: # 获取用户输入十进制 dec = int...(input("输入数字:")) print("十进制为:", dec) print("转换为二进制为:", bin(dec)) print("转换为八进制为:", oct(dec)) print(..."转换为十六进制为:", hex(dec)) 执行效果: 输入数字:123456 十进制为: 123456 转换为二进制为: 0b11110001001000000 转换为八进制为: 0o361100...转换为十六进制为: 0x1e240 11.Python-生成随机小数 分析:使用random函数 代码演示: import random a=random.uniform(0,1) 3#随机的精度round

71620

巧用 Base62 解决字段太短的问题

由于我们内部发号器,只能产生纯数字的序号,按照 8 位长度,从 0 开始最多只能有 99,999,999 。 当前看来没什么问题,但是千万级数字还是太小,一不小心就没了。...simple 类型发号器问题 这个类型发号器只能发纯数字的序号,按照 8 位长度,从 0 开始最多只能有 99,999,999 。...由于发号器虽然是单调递增的,但是可能存在机房配置,存在跳号的情况,这就导致可能可以用的序号少于 99,999,999 。 所以不能拿来直接使用。...如果我们仅仅使用数字,那么我们仅仅只有 10^8-1= 99,999,999。...那现在我们使用发号器生成的序号只能是整数,那站在数学角度,是一个十进制。 那我们只要把这个10 进制转成 62 进制,这不就可以解决问题了吗!

1K10

LeetCode-面试题43-1到n整数中1出现的次数

# LeetCode-面试题43-1到n整数中1出现的次数 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。...例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。...示例1: 输入:n = 12 输出:5 示例2: 输入:n = 13 输出:6 限制: 1 <= n < 2^31 # 解题思路 暴力破解不行,就像在做数学题TAT 递归:转自力扣评论区 (opens...new window) f(n)函数的意思是1~n这n个整数的十进制表示中1出现的次数,将n拆分为两部分,最高一位的数字high和其他位的数字last,分别判断情况后将结果相加,看例子更加简单。...例子如n=1234,high=1, pow=1000, last=234 可以将数字范围分成两部分1~999和1000~1234 1~999这个范围1的个数是f(pow-1) 1000~1234这个范围

24430

MongoDB入门(四)

MongoDB 中使用 db.COLLECTION_NAME.aggregate([{},...]) 方法来构建和使用聚合管道。 先看下官网给的实例,感受一下聚合管道的用法。...范例 从 article 中得到每个 author 的文章,并输入 author 和对应的文章。...如果添加数字和日期,则将数字视为毫秒。 接受任意数量的参数表达式,但最多一个表达式可以解析为一个日期。 $ceil 向上取整 $divide 返回第一个除以第二个的结果。...$minute 以0到59之间的数字形式返回日期的分钟。 $second 以0到60之间的数字(闰秒)返回日期的秒数。 $millisecond 以介于0和999之间的数字形式返回日期的毫秒数。...默认情况下,整个集合作为聚合管道输入,为了提高处理数据的效率,可以使用一下策略: 将 match 和 sort 放到管道的前面,可以给集合建立索引,来提高处理数据的效率。

27420

java 面试杂记

,要执行包含id = 2999.id = 999 的插入,但是需要等待第一个事务释放锁,但是第一个事务的第二个语句,又需要第二个事务释放id = 999 的锁,最终形成死锁; 尽量少使用insert search...: 3 line 12: 11 line 11: 30 line 14: 36 line 15: 43 LocalVariableTable...使用预分配先创建一定数量的核心,执行完会继续阻塞,等待新的任务,其他大于核心线程的线程会在一定时间后进行回收; jvm能否自己关闭线程池 如果程序中不再持有线程池的引用,并且线程池中没有线程时,线程池将会自动关闭...非常适用于在多线程环境下同步协调分阶段计算任务(Fork/Join框架中的子任务之间需同步时,优先使用Phaser) Exchanger允许两个线程在某个汇合点交换对象,在某些管道设计时比较有用。...Exchanger可以认为是 SynchronousQueue 的双向形式,在运用到遗传算法和管道设计的应用中比较有用。

38230

计算机只会加法,那么它如何用加法来计算减法呢?

这里用到了借位,如果我们不使用借位,能不能计算减法呢?...换个角度看看,-174的补码就是(999-174)+ 1 = 826 ,174 +(-174)其实就是 174 + 826 = 1000 ,然后舍弃掉前面的1,结果就是0了,所以补码就是加起来会向高位进一位的...下面,我们来看看补码的定义: ❝「补码」(英语:2's complement)是一种用二进制表示有号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。...补码以有符号比特的二进制定义。 正数和0的补码就是该数字本身。负数的补码则是将其对应正数按位取反再加1。 补码系统的最大优点是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式。...,十进制是77,一个的补码是77那么这个数肯定就是-77啦,所以10110011表示的是-77的补码,而不是179。

1K20
领券