Java算法求最大最小值,倒序,冒泡排序,斐波纳契数列,日历一些经典算法
一,求最大,最小值
int[] a={21,31,4,2,766,345,2,34};
//这里防止数组中有负数,所以初始化的时候给的数组中的第一个数。
int max=a[0];
int min=a[0];
for (int i = 0; i < a.length; i++) {
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
System.out.println("最大的数是:"+max);
System.out.println("最小的值是:"+min);
二,1--100之间的质数(什么叫质数,就是只能被1和本身能除尽的数)
for (int i = 2; i <= 100; i++) {
boolean flag = true;
for (int j = 2; j < i/2+1; j++) {
if(i%j==0){
flag = false;
break;
}
}
if(flag){
System.out.print(i+" ");
}
}
三,输入一个字符串,倒着打印出来(如:abcdefg1256,打印出来是:6521gfedcba)
Scanner scanner = new Scanner(System.in);
String ss = scanner.next();
char[] a = ss.toCharArray();
char tmp = 0;
for(int i = 0; i<a.length/2;i++){
tmp = a[i];
a[i]=a[a.length-i-1];
a[a.length-i-1]=tmp;
}
String s=new String(a);
System.out.println(s);
四,斐波纳契数列(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181)
int a=0;
int b=1;
for (int i = 1; i <= 10; i++) {
System.out.print(a+" ");
a=a+b;
System.out.print(b+" ");
b=a+b;
}
五,冒泡排序
int score[] = {167,69,75,87,89,90,99,100,54,62,87,201,89,14,25,57,53,19 };
for (int i = 0; i < score.length; i++) {
for (int j = i; j < score.length; j++) {
if (score[i] > score[j]) {
int temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
System.out.print("最终排序结果:");
for (int a = 0; a < score.length; a++) {
System.out.print(score[a] + " ");
}
六,在控制台打印日历,平且标出今天
package test;
import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar; public class HelloString {
public static void main(String[] args) {
// 构建D为当前日期
GregorianCalendar d = new GregorianCalendar(); int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH); // D组为本月的开始日期
d.set(Calendar.DAY_OF_MONTH, 1); int weekday = d.get(Calendar.DAY_OF_WEEK); // 一周的第一天是星期日
int firstDayOfWeek = d.getFirstDayOfWeek(); int indent = 0;
while (weekday != firstDayOfWeek) {
indent++;
d.add(Calendar.DAY_OF_MONTH, -1);
weekday = d.get(Calendar.DAY_OF_WEEK);
} // 打印工作日的名称
String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
do {
System.out.printf("%4s", weekdayNames[weekday]);
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
} while (weekday != firstDayOfWeek);
System.out.println(); for (int i = 1; i <= indent; i++)
System.out.print(" "); d.set(Calendar.DAY_OF_MONTH, 1);
do {
// 打印的一天
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d", day); // 带*标记当前日期
if (day == today)
System.out.print("*");
else
System.out.print(" "); // 先进的第二天
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK); // 从本周开始新的一行
if (weekday == firstDayOfWeek)
System.out.println();
} while (d.get(Calendar.MONTH) == month);
// 循环退出时,D是下个月的1天 // 如果需要打印的最终行
if (weekday != firstDayOfWeek)
System.out.println();
}
}
Java算法求最大最小值,倒序,冒泡排序,斐波纳契数列,日历一些经典算法的更多相关文章
- Java算法求最大最小值,冒泡排序,斐波纳契数列一些经典算法<不断更新中>
清明在家,无聊,把一些经典的算法总结了一下. 一.求最大,最小值 Scanner input=new Scanner(System.in); int[] a={21,31,4,2,766,345,2, ...
- 算法之路(三)----查找斐波纳契数列中第 N 个数
算法题目 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: * 前2个数是 0 和 1 . * 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, 1 ...
- 斐波那契数列-java编程:三种方法实现斐波那契数列
题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列 ...
- java斐波纳契数列
//斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.-- 这个数列从第三项开始,每一项都等于前两项之和. public class DiGui { public ...
- lintcode:Fibonacci 斐波纳契数列
题目: 斐波纳契数列 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: 前2个数是 0 和 1 . 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, ...
- HDU 4639 Hehe(字符串处理,斐波纳契数列,找规律)
题目 //每次for循环的时候总是会忘记最后一段,真是白痴.... //连续的he的个数 种数 //0 1 //1 1 //2 2 //3 3 //4 5 //5 8 //…… …… //斐波纳契数列 ...
- 用PHP迭代器来实现一个斐波纳契数列(转)
斐波纳契数列通常做法是用递归实现,当然还有其它的方法.这里现学现卖,用PHP的迭代器来实现一个斐波纳契数列,几乎没有什么难度,只是把类里的next()方法重写了一次.注释已经写到代码中,也是相当好理解 ...
- 10、end关键字和Fibonacci series: 斐波纳契数列
# Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a, b = 0, 1 #复合赋值表达式,a,b同时赋值0和1 while b < 10: print(b ...
- HDU 5914 Triangle 斐波纳契数列 && 二进制切金条
HDU5914 题目链接 题意:有n根长度从1到n的木棒,问最少拿走多少根,使得剩下的木棒无论怎样都不能构成三角形. 题解:斐波纳契数列,a+b=c恰好不能构成三角形,暴力就好,推一下也可以. #in ...
随机推荐
- Linux命令之查看内存和CPU消耗命令TOP使用
1)输入top ,按enter键,即可查看服务器内存消耗情况 注意:其中PID表示进程号 :%cpu表示cpu消耗情况:%M表示内存消耗情况:通常在做性能测试的时候用到该命令: 默认为实时刷新:按s键 ...
- jQuery-prepend、append、before、after的区别
举例说明,原始html代码如下: <ol> <li>List item 1</li> <li>List item 2</li> <li ...
- pc/移动端(手机端)浏览器的直播rtmp hls(适合入门者快速上手)
一.直播概述 关于直播,大概的过程是:推流端——>源站——>客户端拉流,用媒介播放 客户端所谓的拉流就是一个播放的地址url,会有多种类型的流: 视频直播服务目前支持三种直播协议,分别是R ...
- Uva 11235 RMQ问题
RMQ: 有一个不变的数组,不停的求一个区间的最小值. 使用倍增的思想优化到logN; d(i,j) 表示从 i 开始的,长度为2j的一段元素中的最小值. 那么状态转移方程: d(i,j) = min ...
- stixel提升思路总结
1.用psmnet获得更好的disparity 2.用edgebox获得整个rgb图片的边缘,然后通过原本的stixel的上下边缘去寻找最优,用两个的边缘去重新得到一个新的边缘,但获得的轮廓不仅仅是外 ...
- svn更改地址怎么办
开发过程中有时会遇到服务器更换地址的情况,比如之前地址是 svn://www.aaa.com 后来换成了 svn://www.bbb.com 这时候怎么办呢?分客户端和服务器端2种情况处理 客户端: ...
- mysql随机字符串函数
drop function if exists rand_str; delimiter $$ ) charset 'utf8' begin # 定义接收初始化类型 ) ; # 定义初始化数字 ) '; ...
- 【Oracle-DBA】Oracle连接非常慢APPARENT DEADLOCK
我是一名软件包工头,哪里有问题就干哪里. 这次是 Oracle 出毛病了,我就临时兼了DBA的职,没办法,谁叫我是工头呢.打开百度就开干. 这次关键词是:APPARENT DEADLOCK!!! 丫的 ...
- 字节流, FileOutputStream类,FileInputStream类,复制文件,字符流
字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节 基本方法: 子类可继承调用以上方法 FileOutputStream类 构造方 ...
- HttpHandler(处理程序) 和 HttpModule(托管模块)
本文参见:http://www.tracefact.net/Asp-Net/Introduction-to-Http-Handler.aspx 前言:前几天看到一个DTcms网站,里面有个伪静态技术, ...