Java经典算法(四)
题目:将一个数组逆序输出。
package com.remoa.algorithm.day16;import java.util.Random;/*** 题目:将一个数组逆序输出。 * @author Remoa**/
public class ArrayReverse {public static void algorithm(int[] arr){for(int i = arr.length - 1; i >= 0; i--){System.out.print(arr[i] + " ");}}public static void main(String[] args) {Random random = new Random();int[] arr = new int[10];System.out.println("原数组为:");for(int i = 0; i < 10; i++){arr[i] = random.nextInt(100);System.out.print(arr[i] + " ");}System.out.println();System.out.println("逆序输出的结果为:");algorithm(arr);}}
运行结果:
32、
题目:取一个整数 a 从右端开始的 4 ~ 7 位。
package com.remoa.algorithm.day16;import java.util.Random;/*** 题目:取一个整数a从右端开始的4~7位。* @author Remoa**/
public class IntegerDecompose {public static int algorithm(int number, int count){int result = number % (int)Math.pow(10, count);return result;}public static void main(String[] args) {Random random = new Random();int number = random.nextInt(9989999) + 10000;System.out.println("该整数为:" + number);int count = 1, temp = number;while(temp / 10 != 0){count++;temp /= 10;}for(int i = 4; i <= count; i++){System.out.println("保留右端" + i + "位为:" + algorithm(number, i));}}
}
运行结果:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
package com.remoa.algorithm.day17;
/*** 打印出杨辉三角形前十行 * 1 * 1 1 * 1 2 1 * 1 3 3 1 * 1 4 6 4 1 * 1 5 10 10 5 1 * @author Remoa**/
public class YanghuiTriangle {public static int[][] algorithm(){int[][] arr = new int[10][10];arr[0][0] = 1;for(int i = 1; i < 10; i++){arr[i][0] = 1;for(int j = 1; j < i + 1; j++){arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}return arr;}public static void main(String[] args) {int arr[][] = algorithm();for(int i = 0; i < arr.length; i++){for(int j = 0; j <= i; j++){System.out.print(arr[i][j] + " ");}System.out.println();}}
}
运行结果:
图33.1 第33题运行结果
34、题目:输入3个数a,b,c,按大小顺序输出。
package com.remoa.algorithm.day17;import java.util.Random;/*** 题目:输入3个数a,b,c,按大小顺序输出。* @author Remoa**/
public class SortNum {//升序排序public static void algorithm(int arr[]){int temp;for(int i = 0; i < arr.length; i++){for(int j = i + 1; j < arr.length; j++){if(arr[j] < arr[i]){temp = arr[j];arr[j] = arr[i];arr[i] = temp;}}}System.out.println("数组按照升序排序为:");for(int i = 0; i < arr.length; i++){System.out.print(arr[i] + " ");}}public static void main(String[] args) {Random random = new Random();int[] arr = new int[3];System.out.println("原数组的排列顺序为:");for(int i = 0; i < 3; i++){arr[i] = random.nextInt(100);System.out.print(arr[i] + " ");}System.out.println();algorithm(arr);}
}
运行结果:
图34.1 第34题运行结果
35、题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
package com.remoa.algorithm.day18;import java.util.Random;/*** 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。* @author Remoa**/
public class ArraySort {public static void algorithm(int arr[]){int max = arr[0], min = arr[0];int maxi = 0, mini = 0;for(int i = 0; i < arr.length; i++){if(arr[i] > max){max = arr[i];maxi = i;}if(arr[i] < min){min = arr[i];mini = i;}}arr[mini] = arr[arr.length - 1];arr[arr.length - 1] = min;arr[maxi] = arr[0];arr[0] = max;System.out.println("交换后的结果为:");for(int i = 0; i < arr.length; i++){System.out.print(arr[i] + " ");}}public static void main(String[] args) {Random random = new Random();int[] arr = new int[10];System.out.println("原数组的排列顺序为:");for(int i = 0; i < 10; i++){arr[i] = random.nextInt(100);System.out.print(arr[i] + " ");}System.out.println();algorithm(arr);}
}
运行结果:
图35.1 第35题运行结果
36、题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
package com.remoa.algorithm.day18;import java.util.Random;/*** 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数* @author Remoa**/
public class MoveNumber {public static void algorithm(int arr[], int loca){int[] arr1 = new int[10];for(int i = 0; i < arr.length; i++){arr1[i] = arr[i];}for(int i = 0; i < arr.length - loca; i++){arr1[i + loca] = arr[i];}for(int i = 0; i < loca; i++){arr1[i] = arr[i + arr.length - loca]; }System.out.println("移动后的结果为:");for(int i = 0; i < arr1.length; i++){System.out.print(arr1[i] + " ");}}public static void main(String []args){Random random = new Random();int[] arr = new int[10];int n = 10;int m = random.nextInt(3) + 2;System.out.println("n和m的值分别为:" + n + " " + m);System.out.println("原来n个整数的排列为:");for(int i = 0; i < n; i++){arr[i] = random.nextInt(100);System.out.print(arr[i] + " ");}System.out.println();algorithm(arr, m);}
}
运行结果:
37、题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
package com.remoa.algorithm.day19;import java.util.Random;/*** 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。* @author Remoa**/
public class RemainWho {public static void algorithm(int n){int arr[] = new int[n];int count = n;int countNumber = 0, index = 0;while(count != 1){if(arr[index] == 0 && countNumber != 3){++countNumber;}if(countNumber == 3){countNumber = 0;arr[index] = 1;count--;}index++;if(index == n){index = 0;}}for(int i = 0; i < arr.length; i++){if(arr[i] == 0){System.out.println("留下来的是第" + i + "位");}}}public static void main(String[] args) {Random random = new Random();int n = random.nextInt(50) + 50;System.out.println("共有" + n + "个人");algorithm(n);}
}
运行结果:
38、
题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。
package com.remoa.algorithm.day19;import java.util.Scanner;/*** 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。* @author Remoa**/
public class StringLength {public static int algorithm(String s){return s.length();}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符串:");String str = scanner.next();System.out.println(algorithm(str));scanner.close();}
}
运行结果:
39、
题目:字符串排序。
package com.remoa.algorithm.day20;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;/*** 字符串排序。* @author Remoa**/
public class SortString {public static void algorithm(List<String> list){Collections.sort(list);System.out.println("排序后的结果为:");for(int i = 0; i < list.size(); i++){System.out.println(list.get(i));}}public static void main(String[] args) {Random random = new Random();String str = "1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";List<String> list = new ArrayList<String>();System.out.println("生成的随机字符串为:");//生成五条随机字符串for(int count = 1; count <= 5; count++){String s = "";for(int i = 0; i < 10; i++){int number = random.nextInt(62);s += str.charAt(number);}list.add(s);System.out.println(s);}algorithm(list);}
}
运行结果:
40、
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
package com.remoa.algorithm.day20;
/*** 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?* @author Remoa**/
public class MoneyAndPeach {public static void algorithm(){int m = 1, i = 0, x = 1;//从1开始遍历,直到得到连续5次除法都能整除的整数,即为桃子的数目最小值while(true){m = x;for(i = 0; i < 5; i++){if((m - 1) % 5 == 0){m = (m - 1) / 5 * 4;}else{break;}}if(i == 5){break;}x++;}System.out.println("原来最少有" + x + "个桃子");}public static void main(String[] args) {algorithm();}
}
运行结果:
图40.1 第40题运行结果
Java经典算法(四)相关推荐
- java经典算法四十题
java经典算法四十题 [程序9]题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ".例如6=1+2+3.编程找出1000以内的所有完数. public class W ...
- Java经典算法四十例编程详解+程序实例
JAVA经典算法40例 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: ...
- JAVA经典算法50题(转)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1] 题目:古典问题:有一对兔子, ...
- java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...
- java求最大公约数_10道java经典算法题,小白必备,每一题都能提升你的java能力...
JAVA经典算法 跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发! 更多java资料可以私信我领取! [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每 ...
- JAVA经典算法大全
JAVA经典算法大全 from http://java-mans.iteye.com/blog/16457031.河内之塔 2.Algorithm Gossip: 费式数列. 3.巴斯卡三角形 4.A ...
- JAVA经典算法40题
JAVA经典算法40题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析 ...
- 生产实践中的经典算法(四)-BitMap
生产实践中的经典算法(四)-BitMap 1.BitMap的原理 位图(Bitmap),即位(Bit)的集合,是一种数据结构,可用于记录大量的0-1状态,在很多地方都会用到,比如Linux内核(如in ...
- java经典问题算法大全_10道java经典算法!每一题都能提升你的java能力!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 10道java经典算法! [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位. ...
最新文章
- Facebook 万字长文:AI 模型全部迁移至 PyTorch 框架
- 【Effective Java】1.静态工厂方法来替换构造函数
- ssh框架分页显示问题
- how SAP gateway parse_meta_tags
- tomcat启动后命令行日志中文乱码
- java项目连接jboss中数据库_月光软件站 - 编程文档 - Java - JBOSS3.2.5中MYSQL数据库连接池的建立与测试...
- 执行git命令出现 xcrun: error:
- Xshell官网免费版下载实用
- 宝塔php伪静态规则,宝塔BT面板伪静态规则大全汇总
- mysql中删除两条重复的数据,只保留一条
- 前端可视化技术-笔记
- 详解Unity中的粒子系统Particle System (十一)
- Python拼接图片
- Altera特殊管脚的使用(适用全系列Altera FPGA,MSEL区别除外)-来自altera论坛
- Codeup 小白鼠排队
- C++ map用法总结(整理)
- 超700名研究生被清退,硕博生毕业,更难了
- codeforces 577B Modulo Sum
- 【黑盒测试】场景法和错误推断法
- python requests请求接口返回304问题解决