
java
xckkcxxck
这个作者很懒,什么都没留下…
展开
-
循环和递归
改为递归的关键是发现逻辑的“相似性"不要忘记递归的“出口”例子:使用递归模拟循环 打印0到9public staitc void main(String [] args){ for (int i=0; i<10; i++){ System.out.println(i); }} 修改:// 打印0 - npublic static void...原创 2018-03-04 21:55:18 · 208 阅读 · 0 评论 -
蓝桥杯:花朵数
花朵数:花朵数是指一个数的各个位数的该数的位数次方相加等于该数本身例:153=1^3+5^3+3^3程序的任务是:求N=21时,所有满足条件的花朵数。注意:这个整数有21位,它的各个位数字的21次方之和正好等于这个数本身。代码如下: public class Main{ private static BigInteger base[] = new BigInteger[10...原创 2018-03-08 11:38:41 · 417 阅读 · 0 评论 -
不定方程的解法 java
对于一次不定方程,有两种解法第一种是直接暴力循环: public class Main{ //求 2*x + 3*y = 7的解 public static void main(String[] args) { for(int i=0; i<100; i++) for(int j=0; j<100; j++) { if (i*2+j*3==7) {...原创 2018-03-08 12:13:39 · 1703 阅读 · 0 评论 -
生日概率问题
30人的班级,出现生日重复的概率有多大?这里不用数学的方法去求解,而是借助计算机,通过随机数进行模拟,虽然得到的·只是近似解,但是也很接近真实解。这就是蒙特卡罗算法的思想代码如下: public class Main{ //一个班30个人,求生日重复的概率 public static void main(String[] args) { final int N = 1...原创 2018-03-08 21:28:56 · 1435 阅读 · 0 评论 -
java蓝桥杯 24点问题
问题:给出a, b, c, d四个数且1<=a, b, c, d<=10;对这四个数使用加减乘除运算,判断这四个数的能否等于24;能的话输出表达式(可能有多个表达式)例如输入2 2 2 3输出2*2*2*3(或其他表达式) 代码如下:public class Main{ public static String random_p() ...原创 2018-03-09 13:25:29 · 1195 阅读 · 0 评论 -
java蓝桥杯 取球问题
问题:今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。我们约定:每个人从盒子中取出的球的数目必须是:1,3,7或者8个。轮到某一方取球时不能弃权!A先取球,然后双方交替取球,直到取完。被迫拿到最后一个球的一方为负方(输方)请编程确定出在双方都不判断失误的情况下,对于特定的...原创 2018-03-09 20:02:36 · 360 阅读 · 2 评论 -
java利用二叉树排序
class Bitree{ private int v; private Bitree l; private Bitree r; public Bitree(int x){ v = x; } public void add(Bitree the) { if(the.v < v) { if (l==null) l = the; else l.add(the...原创 2018-03-10 09:00:43 · 220 阅读 · 0 评论 -
牛客网 wyh的阶乘
链接:https://www.nowcoder.com/acm/contest/93/E来源:牛客网题目描述 这个问题很简单,就是问你n的阶乘末尾有几个0?输入描述:输入第一行一个整数T(1<=T<=100),代表测试组数接下来T行,每行一个数n(1<=n<=10^9)输出描述:对于每组测试数据,输出对应答案示例1输入512345输出0...原创 2018-04-05 21:05:06 · 252 阅读 · 0 评论 -
java 蓝桥杯 振兴中华
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)从我做起振我做起振兴做起振兴中起振兴中华 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。 要求跳过的路线刚好构成“从我做起振兴中华”这句话。 ...原创 2018-03-27 09:28:02 · 296 阅读 · 0 评论 -
java 蓝桥杯 世纪末的星期
1.标题: 世纪末的星期曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会....有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 于是,“谣言制造商”又修改为星期日......1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星...原创 2018-03-27 08:33:20 · 408 阅读 · 1 评论 -
java 蓝桥杯 饮料换购
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。输入:一个整数n,表示开始购买的饮料数量(0<n<10000)输出:一个整数,表示实际得到的饮料数例如:用户输入:100程序应该输出:149...原创 2018-03-31 12:11:54 · 207 阅读 · 0 评论 -
java 蓝桥杯 牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢? 请填写该整数,不要填写任何多余的内容或说明文字。 思路:这个题我第一眼看是一个典型的深搜的题目,可惜我不太会,然后我从网...原创 2018-03-31 11:56:47 · 560 阅读 · 1 评论 -
蓝桥杯:买不到的数目
问题描述小明开问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。...原创 2018-03-07 17:45:22 · 381 阅读 · 0 评论 -
求素数问题
请问,第100002个素数是多少?请注意 2是第一个,3是第二个,以此类推。代码如下: public class Main{ public static void main(String[] args) { int N = 1000 * 1000 * 10; int x = 100001; byte[] a = new byte[N]; for (int i=2...原创 2018-03-07 11:29:49 · 208 阅读 · 0 评论 -
java 递归实现元素全排列
// 求n个元素的全排列public class Main { // 某个元素占据第一个位置,剩下的进行全排列 // 每个元素都可以占据第一个位置,可以交换实现 // k: 当前的交换位置,关注点,与其后的位置交换 public static void f(char[] data, int k) { if (k == data.length) { for (int i=0; ...原创 2018-03-05 20:16:41 · 323 阅读 · 0 评论 -
经典递归问题之取球问题
经典的递归问题:// 在 n个球中,任意取出m个(不放回),求有多少种不同取法public class Main { public static int f(int n, int m) { if (n < m) return 0; if (n == m) return 1; if (m == 0) return 1; return f(n-1, m-1) + f(...原创 2018-03-05 20:20:08 · 981 阅读 · 0 评论 -
递归求“反转串”“杨辉三角”“斐波那契数”
public class Main{ // 求一个串的“反转串” public static String f(String s) { if (s.length()<=1) return s; return f(s.substring(1)) + s.charAt(0); } public static void main(String[] args) { Stri...原创 2018-03-05 22:39:20 · 246 阅读 · 0 评论 -
java 递归求求两个串的最大公共子序列的长度
// 求两个串的最大公共子序列的长度public class Main { public static int f(String s1, String s2) { if (s1.length()==0 || s2.length()==0) return 0; if (s1.charAt(0) == s2.charAt(0)) { return f(s1.substring(...原创 2018-03-06 12:14:23 · 726 阅读 · 0 评论 -
java 递归求 数字分解
问题 :给一个数字,求它所有的加法组合比如 6的所有组合为:5 14 2 4 1 13 3 3 2 1 3 1 1 12 2 2 2 2 1 1 2 1 1 1 11 1 1 1 1 1 代码如下:public class Main{ //a 缓冲 k:当前位置 public static void f(int n, int[] a, int k) {...原创 2018-03-06 12:27:39 · 1508 阅读 · 1 评论 -
java 递归的一个问题记录
问题:第一行是一个数字n 接下来m个数字在数组a中要求输出对应下标使去掉这些数字时剩下的数字之和为n例如:63 2 4 3 1此时,程序输出:0 20 3 41 2 42 3 代码如下: public class Main{ //err_sum:有错的和 //a:明细 //k:当前处理的位置 //cur_sum :当前的和...原创 2018-03-06 20:36:44 · 179 阅读 · 0 评论 -
浮点数的注意事项和海盗喝酒问题
不要进行浮点数的全等比较。当写出以下式子时,if(0.1+0.2 == 0.3) return true;else return false会发现结果是return false;这就是因为计算机内部的二进制的问题。我就不细研究了,因为我也不太懂。但是有两种解决方法,一种是做差然后求绝对值与一个极小的数字进行比较,比如1e-10,小于它说明就可以了。另一种是通过数学上的通分等方法将小数或者分...原创 2018-03-06 21:25:14 · 345 阅读 · 0 评论 -
自定义浮点数类(分数形式)
我们可以通过自定义分数类,来解决浮点数数字不准确的问题。 class Rational{ private long _a;//分子 private long _b;//分母 public Rational() { _a=1; _b=1; } //最大公约数 private static long _gcd(long x, long y) { if (x&...原创 2018-03-06 22:34:15 · 789 阅读 · 0 评论 -
浮点数问题:特殊浮点数,任意精度小数,合并模式
1, IEEE754规定的5个特殊的浮点数运行以下代码, public class Main{ public static void main(String[] args) { double a = 3.0/0; System.out.println(a); System.out.println(1/a); System.out.println(-a); Sys...原创 2018-03-07 08:00:44 · 459 阅读 · 0 评论 -
辗转相除法
在求两个整数的最大公约数和最小公倍数时,常使用辗转相除法,这个方法的效率很高。接下来写出用循环和递归分别实现的代码1:用循环实现: public class Main{ public static void main(String[] args) { int a = 15; int b = 40; while(a!=0) { int temp = a; ...原创 2018-03-07 10:29:17 · 197 阅读 · 0 评论 -
取模性质:
取模性质:(a+b)%p = (a%p + b%p)%p(a*b)%p = ((a%p) * (b%p) )%p 举例:求 a的b次幂对p取模的数字public class Main{ public static int f(int a, int n, int p) { int x = 1; for (int i=0; i<n; i++) { x =...原创 2018-03-07 10:53:21 · 659 阅读 · 0 评论 -
java 蓝桥杯 加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。 注意:需要你提交的是一个整数,不要填写任何多余的内容。...原创 2018-03-31 10:57:37 · 759 阅读 · 0 评论 -
java 蓝桥杯 三羊献瑞
观察下面的加法算式: 祥 瑞生 辉 + 三羊 献 瑞------------------- 三 羊 生 瑞 气 (如果有对齐问题,可以参看【图1.jpg】) 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。 请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。 这个题我没有写代码,因为这个题直接通过...原创 2018-03-31 09:39:01 · 423 阅读 · 0 评论 -
java 蓝桥杯 带分数
100 可以表示为带分数的形式100 = 3 + 69258 / 714 还可以表示为100 = 82 + 3546 / 197 注意特征带分数中数字1~9分别出现且只出现一次不包含0。 类似这样的带分数100 有 11 种表示法。 题目要求从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意不要求输出每个表示...原创 2018-03-30 20:17:41 · 1175 阅读 · 3 评论 -
java蓝桥杯 10进制转16进制
问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入...原创 2018-03-12 08:08:32 · 351 阅读 · 0 评论 -
java蓝桥杯 十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535 代码如下: import java.util.*;public class Main{ public static void f(String s) { ...原创 2018-03-11 18:59:14 · 507 阅读 · 0 评论 -
java蓝桥杯 十六进制八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出...原创 2018-03-11 17:29:40 · 230 阅读 · 0 评论 -
java蓝桥杯 承压计算
标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 ...原创 2018-03-16 22:27:15 · 297 阅读 · 0 评论 -
java 蓝桥杯 四平方和
四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b <= c ...原创 2018-03-16 16:48:02 · 712 阅读 · 0 评论 -
java 蓝桥杯 方格填数
方格填数如下的10个格子(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的整数。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。 代码如下: import java.util.*;public class Main{ pr...原创 2018-03-16 15:56:12 · 1015 阅读 · 0 评论 -
java蓝桥杯入门训练序列求和
问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致...原创 2018-03-10 11:51:43 · 286 阅读 · 0 评论 -
java蓝桥杯入门训练 圆的面积
方法是使用String的format方法,贴代码如下: import java.util.*;import java.math.*;public class Main{ public static void f(int r) { double pi = Math.PI; double s = r*r*pi; System.out.println(String.fo...原创 2018-03-10 11:26:45 · 421 阅读 · 0 评论 -
java蓝桥杯入门训练 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除...原创 2018-03-10 10:34:41 · 284 阅读 · 0 评论 -
八皇后问题
参考博客:https://www.cnblogs.com/bigmoyan/p/4521683.html八皇后问题是一个经典的递归回溯问题,就是在国际象棋8*8的格子里放8个皇后,这些皇后不能在同一行,同一列,同一对角线。首先从问题中我们就能提炼出判断条件。基于此,写出代码: public class Main{ private static int n = 8; priva...原创 2018-03-15 11:24:29 · 242 阅读 · 0 评论 -
java 蓝桥杯 分小组 (代码填空)
9名运动员参加比赛,需要分3组进行预赛。有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法。该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DFI EGHABC DGH EFIABC DGI EFHABC DHI ...原创 2018-03-15 09:34:33 · 928 阅读 · 2 评论 -
java蓝桥杯 特殊回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1<=...原创 2018-03-12 15:11:47 · 308 阅读 · 0 评论