Sub test() Call rnd_n_n(18, 100, "a1") End Sub '************************************ '为了在做表的时候模拟出一些身份证...,本程序可以生成100个不重复的18位数字 '要求:1.18位数字 2.同时生成的总量中没有重复 '使用方法:call rnd_n_n(位数,个数,存放位置)如:Call rnd_n_n(10, 100...Dim i&, z As String Set d = CreateObject("scripting.dictionary") 10: For i = 1 To nw '18是要生成的位数...如果你要15位就修改为15 z = z & Mid(a, WorksheetFunction.RandBetween(1, 10), 1) Next If Not d.Exists...(z) Then d(z) = "" If d.Count 的总数,如果是要500个就修改为500 z = "": GoTo
//随机产生$num位字符串 function mkrandomstr($num=6){ $str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ..."; $str=str_shuffle($str); return substr($str, 0,$num); } //随机产生$num位字符串 function
2023-07-11:给定正整数 n, 返回在 [1, n] 范围内具有 至少 1 位 重复数字的正整数的个数。 输入:n = 100。 输出:10。...答案2023-07-11: 函数的主要思路如下: 1.若n小于等于10,则直接返回0,因为在[1, 10]范围内不存在重复数字的情况。 2.计算n的位数和偏移量。...4.3.将分三种情况: 4.3.1.若first大于0,则对于0到first-1的数字cur,如果status的第cur位为1,说明该数字可用,将offset/10和status的第cur位取反异或,并调用辅助函数...4.3.3.若first在0到9之间,则如果status的第first位为1,说明该数字可用,将offset/10和status的第first位取反异或,并调用递归函数process计算剩余位和可用状态下的数字个数...该代码在给定正整数n的范围内采用了一种比较高效的算法,通过一系列的位运算和迭代计算,找出了每个位数下非重复数字的个数,然后根据n的位数和偏移量来计算在该位数下包含至少1位重复数字的正整数的个数,并将它们相加得出最终结果
一、四舍五入并保留两位小数 类似于c语言printf的输出 printf(): double x = 8.055; System.out.printf("%.2f\n",x);//8.06 format...(): double x = 8.055; System.out.format("%.2f\n",x);//8.06 format()方法将double型转换为String型再输出 double x =...;//不要忘了在类的外面导入这个包 Formatter a = new Formatter(System.out); double x = 8.055; a.format("%.2f\n", x);/...0,超过两位部分的自动舍去 double x = 8.055; double y = 8.5; System.out.println(nf.format(x));//8.05 System.out.println...nf = NumberFormat.getNumberInstance(); nf.setMinimumFractionDigits(2);//不足两位自动补0,超过两位的部分不舍去 double x
斐波那契数列------从第三项开始,每一项都等于前两项之和;而第一项和第二项都是1 1.非递归方法实现 主函数部分,定义变量,初始化变量,输入想求斐波那契数列的第n位 n int main()...,将b的值赋给a,c的值赋给b,迭代下去;从第二位斐波那契数开始,每迭代一次就能得到下一位的斐波那契数,所以想求第n位的斐波那契数,就应该迭代n-2次. 1 1 2 3 5 8 13 21 34 55..., c); } else printf("%d\n", a); return 0; } 使用非递归的方法计算斐波那契数列的第n位,效率会快很多,但当数值过大时无法计算出准确值...递归方法实现 当n>2时,使用递归返回斐波那契数的前一位和前两位的和;当n返回1....; int ret = Fib(n); printf("ret = %d\n",ret); return 0; } 当使用递归算斐波那契数列的第n位时,n较大时,计算量非常大
php的日期库函数是很强大的,比如获取某个时间戳是当年度的第几周,可以用date(‘W’,$timestamp)实现,但如果已知是第几周,想取这周对应的时间区间怎么处理呢?...php的库函数里没有相应的方法,所以我封装了以下方法: /** * 获取第n周的日期区间 * @param [int] $no 要获取第几周的日期 * @param [string...'-01-01 00:00:01'); //当前是这个星期的第几天 $dateOrder = date('N', $newYearDate); //国际惯例每年第一个星期一所在的周为第一周...7-$dateOrder+1:0; //第N周的起始天应该是从第N-1周+1天开始的 $no--; $startDate = strtotime("+{$
大概的内容:删除链表的倒数第N个节点,并返回链表的头节点。...L,倒数第N个节点就是从开头数第(L-N+1)个节点,将此节点的next指向下下节点就可以了。...4、这时第二个指针所指向的节点的下一个节点就是要删除的节点(倒数第N个节点),将第二个指针指向的节点的next指向下下个节点就完成了。 ?...,双指针也是算法题里面比较常用的解题方法。...,相当于指针在从尾节点执行到头节点,这时在第N步将指针指向的节点的next指向下下个节点就完成了。
分析:我们要找到中间节点,是不是有两种可能性,节点数为奇数和偶数两种,奇数的话很简单就是中间的节点,偶数是不是中间就有两个节点,根据题中意思,我们需要返回的是这两个节点中的第二个节点,我们的方法是采用两个伪指针的方法...N 个结点 题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。...现在就让我们领略这道题的神奇,我将以两种方法去讲解,第二种方法也是第一种方法的进阶。根据上一题的思路,我们仍然采用双指针去找到倒数第n个节点,我们该怎么想呢?...没错就是这种思路,不过和上道题不同的是这次我们让它一开始就差距n步,那fast走到最后,因为差了n步,slow是不是就恰好在倒数第n个节点的位置,对就是这种思路。...思路见下: 此时无论怎么样,prev都不可能为NULL,想怎么访问就怎么访问,上面的方法麻烦就麻烦在prev有两种可能性,但这个方法需要注意的是我们返回的是head->next,还需要注意进入循环之前把
setInterval(() => console.log("Hi"), 1000); A:一个唯一的id B:指定的毫秒数 C:传递的函数 D:undefined 答案: A 它返回一个唯一的id。
用$sample (aggregation)方法,具体命令为: db.collection.aggregate( [ { $sample: { size: N } } ] ) N为条数 例如返回5条:...: "chenfeng" } { "_id" : ObjectId("5d1c5b7c39ab0f9fbcd94c62"), "id" : 97819, "name" : "chenfeng" } 返回...size: 1 } } ] ) { "_id" : ObjectId("5d1c5aec39ab0f9fbcd7b29a"), "id" : 92915, "name" : "chenfeng" } 返回
前面已经分享了几种计算Fibonacci数列第n项的方法,详见Python快速计算Fibonacci数列中第n项的方法和三种Fibonacci数列第n项计算方法及其优劣分析,本文分享第7种(过几天分享第...8种),主要演示列表的append()和pop()这两个方法和反向索引的用法。...如果n小的话,可以只append()不pop()(注意,这样的话append()的参数要改为data[-1]+data[-2]),但是如果n很大的话会导致内存崩溃。...下面的代码使用第800万项对本文的第7种方法和前面6种中最快的方法3进行了测试和对比,事实证明,算法3是无敌的,也是最简单的。 大家不妨分析一下,本文的方法7比方法3慢的原因是什么?...(0) return data[-1] n = 8000000 for fibo in (fibo3, fibo7): start = time() r = str(fibo(n))
1 return fibo1(n-1) + fibo1(n-2) @lru_cache(maxsize=64) def fibo2(n): '''递归法,使用缓存修饰器加速''' if n in...(1, 2): return 1 return fibo2(n-1) + fibo2(n-2) def fibo3(n): '''序列解包''' a, b = 1, 1 for i in...range(2, n+1): a, b = b, a+b return a # 测试3个函数的执行速度 n = 40 for fibo in (fibo1, fibo2, fibo3...267914296:67.31945824623108 fibo2:267914296:0.0 fibo3:267914296:0.0 由于第一个函数运行速度非常慢,在n变大时只测试后面2个函数的执行时间...第二个函数由于递归深度过大而崩溃,抛出异常: RecursionError: maximum recursion depth exceeded while calling a Python object 下面继续测试第3
newStr; }else{ newStr = str.charAt(i) + newStr; } count++; } str = newStr + ".00"; //自动补小数点后两位
条形码是将线条与空白按照一定的编码规则组合起来的符号,用以代表一定的字母、数字等资料。...世界上大约有225种以上的一维条形码,每种一维条形码都有自己的一套编码规格,规定每个字母(可能是文字或数字或文数字)是由几个线条及几个空白组成,以及字母的排列。...下面我们就以EAN 13码为例来了解一下条形码上每一位数字的含义。 EAN码的全名为欧洲商品条码(European Article Number),由欧洲十二个工业国家所共同发展出来的一种条码。...4-7位是生产厂商代码,由国家分配。8-12位是产品编码,由厂商自行确定。最后一位是校验码,根据一定的算法,由前面12位数字计算得到。...其排列如下: 01.png 最后一位校验码之计算步骤如下: 1.取出该条码的奇数位的和,C1 = N1+ N3+N5+N7+N9+N11=26 2、取出该条码的偶数位的和的三倍,C2 = (N2+N4+
其中大部分观点我是赞同的,比如第一条的“职业发展的最好方法是换公司”,还真的是这样。还有“技术栈不重要”,真的在这行业待得越久会越发现别说技术栈了,有时候技术都不是最重要的。...文章 程序员酒后吐真言 (1)职业发展的最好方法是换公司。 (2)技术栈不重要。技术领域有大约 10-20 条核心原则,重要的是这些原则,技术栈只是落实它们的方法。...(5)如果一家公司的工程师超过 100 人,它的期权可能在未来十年内变得很有价值。对于工程师人数很少的公司,期权一般都是毫无价值。 (6)好的代码是初级工程师可以理解的代码。...(18)手腕和背部的健康问题可不是开玩笑的,好的设备值得花钱。 (19)当一个软件工程师,最好的事情是什么?...(23)我遇到的最好的领导,同意我的一部分观点,同时耐心跟我解释,为什么不同意我的另一部分观点。我正在努力成为像他们一样的人。 (24)算法和数据结构确实重要,但不应该无限夸大,尤其是面试的时候。
非空值函数LastnonBlank第2参数使用方法 LastnonBlank(,) 参数 描述 column 列名或者具有单列的表,单列表的逻辑判断 expression...表达式,用来对column进行过滤的表达式 第2参数是一个表达式,是对第一参数进行过滤的表达式。...解释:带常数的LastnonBlank度量值,不会显示汇总,因为只返回日期列里的最大值。因为LastnonBlank是根据ACISS大小来返回最后一个,也就是返回ACISS的最大值。...第1个度量,既然知道第2参数是常数,也就是返回最大值,日历筛选的时候,因为汇总的时候是没有指定值的,所以返回为空白。 第2个度量,是在日历表上进行筛选后进行返回最后日期,所以返回的也不带有汇总。...第3个度量因为返回的是相关表,也就是原表的日期,所以返回的时候也就有了汇总一栏。 如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。
感谢山东工商学院学院厉玉蓉老师提供的完美数学推导,我在重写和整理时略加修改,比如变量替换时她喜欢用字母z,而我喜欢用x,哈哈。...当然,还有另外几个小地方^_^ 本文从Fibonacci数列第n项的通项公式入手,进行简化和推导,得到一个递推公式,并且消除了原通项公式中的浮点数运算,改写成了纯整数运算。...Fibonacci数列第n项通项公式展开、化简的推导过程: ? 上式中各项的组合数之间也存在递推关系,推导过程: ? 使用Python实现: ? 运行结果: ?
2022-05-05:给定一个正数num,要返回一个大于num的数,并且每一位和相邻位的数字不能相等. 返回达标的数字中,最小的那个。 来自微软。...答案2022-05-05: 从左往右看,是否有相邻两位相同的数字。如果有,则低位加1,低位右边全变成0,递归。 代码用rust编写。
,求第n个数的值” 不得不承认,当时我第一眼看这道题大脑里是懵逼的。后来才想起来,这不就是数学题里的那个斐波那契(肥婆纳妾)数列么!从第三个数开始,每个数都是前两个数的和。...那其实这个问题还可以换个问法:实现一个函数,输入一个数字n能返回斐波那契数列的第n个值。 大概的思路是这样的: 首先我们要把特殊的部分给独立出来做个判断,哪些数字是特殊的呢?...很明显是斐波那契数列的前两项,而斐波那契数列的前两项都为1。然后定义三个变量,firstNum、secondNum、total,分别代表着第一个数字,第二个数字,还有他们俩之和。...以此根据传入的n来不断地循环叠加,达到想要的total值,最后return返回出去。...思路说完后,让我们用js把它实现出来: // 可能是最普通的解法 var series = function (n) { var sum = [0, 1]; if(n < 2) { return
使用awk取某一行数据中的倒数第N列:$(NF-(n-1)) 比如取/etc/passwd文件中的第2列、倒数第1、倒数第2、倒数第4列(以冒号为分隔符) [root@ipsan-node06 ~]#
领取专属 10元无门槛券
手把手带您无忧上云