基础算法
第一章 算法入门
1.1 回音
算法:算法则是为了让计算机完成特定任务而编写的一系列清晰的指令。
在回音这个程序中,算法非常的简单:
1 等待我们输入内容
2 将输入的内容保存在内存中(变量)
3 将内存中保存的内容输出到控制台
1.2 水仙花数1
水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身(例如1×1×1+5×5×5+3×3×3=153),输入一个三位数,判断是不是水仙花数,如果是输出一个true,否则输出一个false,如
输入:153
输出:true
算法1
Scanner sc= new Scanner (system.in);
int r = sc.nextInt();
int b = r/100;
int s = r/10%10;
int g = r%10;
if(b*b*b + s*s*s + g*g*g == r){
System.out.print("ture");
}else{
System.out.print("flase");
}
1.3 水仙花数2
for (int r = 100; r < 1000; r++){
int b = r/100;
int s = r/10%10;
int g = r%10;
if(b*b*b + s*s*s + g*g*g == r){
System.out.print("ture");
}else{
System.out.print("flase");
}
}
算法2
新建class
int[]sxh = {153,370,371,407}
Scanner sc= new Scanner (system.in);
int r = sc.nextInt();
for(int i = 0;i < sxh.length; i++){
if (r == sxh [i]){
System.out.println("ture");
reture;
}
}
System.out.println("false"); }
小结:
计算机完成同一个任务,可以根据算法思路的不同,编写不同的代码指令。
不同的算法,各有他们的优劣。
深入理解,Java语言的语法可以帮助我们更好地设计算法。
1.3 回文串
判断一个字符串是否是回文串。回文串是指正序(从左向右)和倒序(从右向左)读都是一样的如abcba反过来还是abcba。要求输入一个字符串,如果是回文攒串,则输出ture,否则输出一个false,如:
输出:aba
输出:ture
算法1:
新建 class
Scanner sc=new Scanner(System.in); String r =sc.next(); for (int i=0; i< length()/2;i++){ if (r.charAt(i)==r.charAt(r.length()-1)){ System.out.println("false"); return; } } System.out.println("ture");
1.5 回文串 2
算法2
Scanner sc=new Scanner(System.in);
String r =sc.next();
String rn = new StringBuilder(r).reverse().toString();
if (r.equals(rn)){
System.out.println("ture");
}else {
System.out.println("false");
}
算法3:
小结:
字符串可以使用charAt()获取指定位置的字符
StringBuilder中的reverse()可以实现字符串反转
理解字符串类型的:s.equals(s2)与s== s2 的区别
掌握s.substring()的用法
总结:
eclipse的使用环境的配置项目与代码文件的创建。
Java语言中的输入、输出、赋值、字符串变量等基本语法。
深入理解Java语言的语法,可以帮助我们更加地设计算法。
算法则是为了让计算机完成特定任务而编写的一系列清晰的指令。
计算机完成同一个任务,可以根据算法思路的不同,编写不同的代码指令。
不同的算法各有它们的优劣,主要从时间复杂度和空间复杂度两个方面来称量。