![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
平时练习
VicterTian
这个作者很懒,什么都没留下…
展开
-
寻找和为定值的两个数
/** * 输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。 * 要求时间复杂度是O(N)。如果有多对数字的和等于输入的数字,输出任意一对即可。 * 例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。 * <p> * 思路一:直接穷举,从数组中任意选取两个数,判定它们的和是否为输入的那个数字。此举复杂度为O(...原创 2019-02-16 22:40:06 · 247 阅读 · 0 评论 -
比大小
比大小时间限制:3000 ms | 内存限制:65535 KB难度:2描述给你两个很大的数,你能不能判断出他们两个数的大小呢?比如123456789123456789要大于-123456输入每组测试数据占一行,输入两个不超过1000位的10进制整数a,b数据保证输入的a,b没有前缀的0。输出如果a>b则输出“a>b”,如果a样例输入111111111原创 2017-03-31 15:21:46 · 429 阅读 · 0 评论 -
求高精度幂
求高精度幂时间限制:3000 ms | 内存限制:65535 KB难度:2描述对数值很大、精度很高的数进行高精度计算是一类十分常见的问题。比如,对国债进行计算就是属于这类问题。 现在要你解决的问题是:对一个实数R( 0.0 输入输入有多行,每行有两个数R和n,空格分开。R的数字位数不超过10位。输出对于每组输入,要求输出一行,该行包含精确的 R 的 n 次方。输原创 2017-03-31 14:32:09 · 519 阅读 · 0 评论 -
小珂的苦恼
小珂的苦恼时间限制:1000 ms | 内存限制:1000 KB难度:2描述小珂是一名初中生,她现在很苦恼,因为老师布置了一个让她苦恼的作业,你能不能帮助她呢?题目信息如下。已知二元一次方程 a*x+b*y=n,判断这个二元一次方程有没有整数解,x,y为未知数,其中a,b,n都为整数且不等于零,同时满足0输入第一行有一个整数0输出存在整数x和y使得方程有解,输出原创 2017-03-31 14:30:32 · 352 阅读 · 0 评论 -
汉诺塔问题
汉诺塔(又称河内塔)问题其实是印度的一个古老的传说。开天辟地的神勃拉玛(和中国的盘古差不多的神吧)在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一 个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上 面。计算结果非常恐怖(移动圆片的次数)184467440737原创 2017-03-14 21:52:45 · 1325 阅读 · 0 评论 -
小朋友排队
n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。原创 2017-03-24 09:49:18 · 566 阅读 · 0 评论 -
啤酒和饮料
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。原创 2017-03-24 08:55:54 · 566 阅读 · 1 评论 -
切面条
一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。本题可以直接找规律pu原创 2017-03-24 08:52:36 · 411 阅读 · 3 评论 -
李白打酒
话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaa原创 2017-03-24 08:48:35 · 263 阅读 · 2 评论 -
六角填数
如图【1.png】所示六角形中,填入1~12的数字。 使得每条直线上的数字之和都相同。 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容。用全排列挺水的一个题,只要将图片没有的数字传入数组内,全排列一切搞定~ public static void main(String[] a原创 2017-03-24 08:34:36 · 519 阅读 · 0 评论 -
奇怪的分式
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) 老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼! 对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢? 请写出原创 2017-03-24 08:40:47 · 375 阅读 · 0 评论 -
不吉利的数字
不吉利的数字时间限制:1000 ms | 内存限制:65535 KB难度:1描述一些普通的数字在很多人眼里是不吉利。如数字4,谐音“死”,所以很多地方都没有带4的数字:比如新校区澡堂衣柜编号及没有4;再如数字13,在西方人眼中代表着坏运气,也是不吉利的数字,13不出远门,楼层不设第13层等等。假如某些人认为0是不吉利的数字,并且在他们以后的生活中,记录数据都在不在使用含有0的自原创 2017-03-28 19:26:39 · 989 阅读 · 0 评论 -
猜字母
把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容 public static void m原创 2017-03-24 14:45:49 · 357 阅读 · 0 评论 -
大衍数列
中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。 它的前几项是:0、2、4、8、12、18、24、32、40、50 ... 其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。 以下的代码打印出了大衍数列的前 100 项。for(int i=1; i{if(_________原创 2017-03-24 15:10:10 · 2804 阅读 · 0 评论 -
搭积木
小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法:01 23 4 56 7 8 903 17 5 29 8 6 4思路:目前只想到暴力,优雅一点的说是全排列,时间复杂度已经达到O(2^n)指数级别,希望有更好...原创 2019-01-21 15:56:56 · 324 阅读 · 0 评论 -
用O(1)的时间复杂度求栈中最小元素
题目:用O(1)的时间复杂度求栈中最小元素思路:要找到栈里的最小元素,最简单的方法是对栈进行遍历,找出最小值,但是这样的方法的时间复杂度为O(n)。在算法设计中,我们可以采取用空间换时间的方法来提高算法的时间复杂度,也就是采用额外的存储空间来降低操作的时间复杂度。具体实现就是使用两个栈结构,一个栈用来存储数据,另一个栈用来存储栈的最小元素,如果当前入栈的元素比原来栈的最小值还小,则把这个栈压入最...原创 2019-01-21 15:40:07 · 910 阅读 · 0 评论 -
手机验证码、图片验证码的实现
手机验证码第一步:网上找一个第三方短信接口平台,大多数这样的平台都会有免费试用的通知短信。我这里用的是秒滴科技,注册个账号,赠送200条短信,足够项目练手使用了。第二步:去用户中心查看TOKEN(ACCOUNT SID和AUTH TOKEN的值很重要,后面写代码要用到)。第三步:查看API文档,这里要用到官方提供的接口。第四步:在配置管理里面新建模板,模板审核通过后即可启用。第五步:...转载 2018-10-01 04:49:46 · 5986 阅读 · 2 评论 -
黄金连分数
黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正原创 2017-03-31 17:16:27 · 1169 阅读 · 0 评论 -
四平方和
四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。 比如:5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思) 对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对4个数排序:0原创 2017-03-10 19:23:48 · 328 阅读 · 0 评论 -
高次方尾数问题
求13的298次方的最后三位数是多少? public static void main(String[] args){ BigInteger num=new BigInteger("13"); num=num.pow(2); String str=num.toString(); char[] i=str.toCharArray(); for(int a=i.leng原创 2017-03-10 19:36:58 · 989 阅读 · 0 评论 -
正因子数
已知24有8个正整数因子 (即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。问[100,300]之间有多少个这样的数。 public static void main(String[] args){ int sum=0; int num=0; for(int a=100;a<=300;a++){ for(int b=1;b<=a;b++){原创 2017-03-10 19:42:02 · 6218 阅读 · 0 评论 -
求n的阶乘的末尾有多少个零
【题目描述】给出一个数n,求n的阶乘的末尾有多少个零。 【输入描述】第一行一个整数T,表示有T(1每组测试数据只有一个数字n。(1 【输出描述】对于每组数据:输出一个数字,即n!的末尾的零的个数。样例输入253样例输出10原创 2017-04-04 10:08:45 · 1301 阅读 · 1 评论 -
火柴棍等式
超超终于向他的女神小美表白了。可是小美只喜欢聪明的程序员,当场给他出了道难题,题目如下:给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示:注意: 1. 加号与等号各自需要两根火柴棍 2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)原创 2017-04-02 18:08:00 · 520 阅读 · 0 评论 -
无穷分数
无穷的分数,有时会趋向于固定的数字。请计算【图1.jpg】所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。请填写该浮点数,不能填写任何多余的内容。递归 public static void main(String[] args){ System.out.println(String.format("%.5f", (dfs(1))原创 2017-03-24 15:55:57 · 414 阅读 · 0 评论 -
代码填空: 圆周率
数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。其中许多方法都涉及无穷级数。 图1.png中所示,就是一种用连分数的形式表示的圆周率求法。 下面的程序实现了该求解方法。实际上数列的收敛对x的初始值 并不敏感。 结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。double x = 111; for原创 2017-03-24 15:29:34 · 1066 阅读 · 0 评论 -
数乌龟
数乌龟 描述有一只母 乌龟 ,它每年年初生一头小母 乌龟 。每头小母 乌龟 从第四个年头开始,每年年初生一头小母 乌龟 。请你计算第n年是共有多少只母 乌龟 (第一年是有一头母乌龟) 输入输入多组测试数据,每组测试数据占一行,输入一个整数n(0原创 2017-03-21 20:36:52 · 448 阅读 · 0 评论 -
勾股定理
勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。 求满足这个条件的不同直角三角形的个数。【数据格式】输入一个整数 n (0要求输出一个整数,表示满足条件的直角三角形个数。例如,输入:5程序应该输出:1再例如,输入:100原创 2017-03-21 19:45:56 · 605 阅读 · 0 评论 -
矩形的个数
矩形的个数时间限制:1000 ms | 内存限制:65535 KB难度:1描述在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。给出A,B,计算可以从中找到多少个矩形。输入本题有多组输入数据(输入2个整数A,B(1输出原创 2017-03-28 12:51:02 · 368 阅读 · 0 评论 -
小明求素数积
小明求素数积时间限制:1000 ms | 内存限制:65535 KB难度:1描述小明最近遇到了一个素数题,是给你一个正整数N(2=输入第一行输入一个正整数T(T每组数据占一行,输入一个正整数N(2=输出每组数据输出占一行,输出2~N素数乘积的后六位样例输入33643样例输出630670030原创 2017-03-28 12:49:10 · 291 阅读 · 0 评论 -
冒泡法则
冒泡法则: public static void main(String[] args){ int[] i={1,5,2,8,65,45,82}; 冒泡法则.冒泡(i); System.out.println(Arrays.toString(i)); } public static void 冒泡(int[] i){ //冒泡法则 int a; for(int b=原创 2017-03-10 19:48:47 · 599 阅读 · 0 评论 -
字符串“This is my Basic”所有字符的ASCII码之和
求字符串“This is my Basic”所有字符的ASCII码之和方法一: public static void main(String[] args){ int sum=0; String str="This is my Basic"; char[] i=str.toCharArray(); for(int a=0;a<i.length;a++){ sum=su原创 2017-03-10 19:43:10 · 1636 阅读 · 0 评论 -
猴子吃桃
猴子第1天摘下若干桃子,当即吃掉一半,又多吃一个,第二天将剩余的部分吃掉一半还多一个;以此类推,到第10天只剩余1个。问第1天共摘了多少桃子 public static void main(String[] args){ int a=1; int b=10; for(int c=b-1;c>=1;c--){ a=(a+1)*2; } System.out.原创 2017-03-10 19:41:09 · 285 阅读 · 0 评论 -
奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?请填写该数字,不要填写任何多余的内容。方法一: public static void main(String[] args){ for(int a=0;a<=10000;a++){ int b=(int)Math.pow(a, 2); int c原创 2017-03-10 19:34:21 · 595 阅读 · 0 评论 -
打印大X
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。为了便于比对空格,所有的空白位置都以句点符来代替。要求输入两个整数m n,表示笔的宽度,X的高度。用空格分开(0要求输出一个大X例如,用户输入:3 9程序应该输出:***.....***.***...***...***.***.....*****.......**原创 2017-03-10 19:31:16 · 378 阅读 · 0 评论 -
隔行变色
Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,....现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。请你直接提交这个整数,千万不要填写任何多余的内容。 public static void main(String[] args){ int a=0;原创 2017-03-10 19:30:11 · 296 阅读 · 1 评论 -
移动距离
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 ..... 1 2 3 4 8 7 6 5 9 10 11 1216 15 1原创 2017-03-10 19:27:36 · 411 阅读 · 0 评论 -
九数分三组
1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系:B = 2 * AC = 3 * A请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。注意:只提交A的值,严格按照格式要求输出。方法一: public static void main(String[] args){ char[] cc=new char[9];原创 2017-03-10 19:26:29 · 739 阅读 · 1 评论 -
熊怪吃核桃
森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份。如果不能等分,熊怪就会扔掉一个核桃再分。第二天再继续这个过程,直到最后剩一个核桃了,直接丢掉。有一天,熊怪发现了1543个核桃,请问,它在吃这些核桃的过程中,一共要丢掉多少个核桃。请填写该数字(一个整数),不要填写任何多余的内容或说明文字。 static i原创 2017-03-10 19:25:10 · 300 阅读 · 0 评论 -
数的长度
数的长度时间限制:3000 ms | 内存限制:65535 KB难度:1描述N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?输入首行输入n,表示有多少组测试数据(n随后n行每行输入一组测试数据 N( 0 输出对于每个数N,输出N!的(十进制)位数。样例输入31原创 2017-03-28 12:52:23 · 337 阅读 · 0 评论 -
第39级台阶
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。要求提交的原创 2017-03-21 19:36:19 · 347 阅读 · 0 评论