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 ...
随机推荐
- 如何在markdown中实现缩进,空格,制表符
参考 https://stackoverflow.com/questions/6046263/how-to-indent-a-few-lines-in-markdown-markup Markdown ...
- 【Tim Sweeney】Why C++ for Unreal 4?
The first three generations of the Unreal Engine included a sandboxed scripting language, UnrealScri ...
- SQL:获取语句执行时间2
获取sql执行时间方法2 --清除缓存 CHECKPOINT; DBCC DROPCLEANBUFFERS; DBCC FREEPROCCACHE; DBCC FREESYSTEMCACHE ('AL ...
- CFG的定义
最近在CMU上NLP,好吧 对于见了很多年的CFG(Context-Free Grammar)发现又搞不懂是什么了 教材上写的是: mathematical system for modeling c ...
- CPU体系结构
http://blog.csdn.net/liuxc0116/article/details/17004313 1.算术逻辑单元ALU(Arithmetic Logic Unit)ALU是运算器的核心 ...
- 2016 Al-Baath University Training Camp Contest-1
2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...
- Task 的入门
https://www.cnblogs.com/huangxincheng/archive/2012/04/03/2430638.html
- JSONObject数组排序工具类
依赖jar <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</a ...
- Mac 中显示资源库(Library)文件夹目录的几种方法
Mac中Library目录在10.6.7系统之后默认隐藏的,要想找到此文件夹有如下几种方法: 1. 用命令可以使其显示: 在终端中执行命令: chflags nohidden ~/Library ...
- ROS机器人程序设计
在<ROS机器人程序设计>中,在第二章创建节点时给出一个接收和发送的例子,但是按照书中步骤编译时,遇到按个三个问题,现在罗列出来解决方案供参考. 建议在工作空间直接输入 catkin_ ...