根据给定文件的信息,我们可以提炼出以下算法相关的知识点: ### 知识点一:斐波那契数列 **描述**:题目要求打印出斐波那契数列的前24项。 **代码分析**: ```java public class Lianxi01 { public static void main(String[] args) { System.out.println("1项: 1"); System.out.println("2项: 1"); int f1 = 1, f2 = 1, f, M = 24; for (int i = 3; i <= M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println(i + "项: " + f2); } } } ``` **知识点**: - **斐波那契数列**定义为F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2)。 - 使用循环结构实现数列的计算,并通过三个变量`f1`、`f2`和`f`来存储数列中的值,以减少重复计算。 - 输出每一项的结果。 ### 知识点二:素数判断 **描述**:找出101到200之间的所有素数。 **代码分析**: ```java public class Lianxi02 { public static void main(String[] args) { int count = 0; for (int i = 101; i < 200; i += 2) { boolean b = true; for (int j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) { b = false; break; } } if (b) { count++; System.out.println(i); } } System.out.println("共 " + count + " 个素数"); } } ``` **知识点**: - **素数**定义为只能被1和它本身整除的大于1的自然数。 - 使用内层循环遍历2到`Math.sqrt(i)`之间的所有数字来判断是否为素数,这可以显著减少计算量。 - 使用布尔变量`b`来记录当前数字是否为素数。 - 记录并输出找到的所有素数及其总数。 ### 知识点三:水仙花数 **描述**:打印所有的三位“水仙花数”。 **代码分析**: ```java public class Lianxi03 { public static void main(String[] args) { for (int m = 101; m < 1000; m++) { int b3 = m / 100; int b2 = m % 100 / 10; int b1 = m % 10; if ((b3 * b3 * b3 + b2 * b2 * b2 + b1 * b1 * b1) == m) { System.out.println(m + " 是一个水仙花数"); } } } } ``` **知识点**: - **水仙花数**是指一个三位数,它的每个位上的数字立方和等于该数本身。 - 通过取模运算和整除运算分别获取每一位上的数字。 - 判断条件为每位数字的立方和与原数相等。 ### 知识点四:质因数分解 **描述**:输入一个正整数,输出其质因数分解的结果。 **代码分析**: ```java import java.util.Scanner; public class Lianxi04 { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("请输入一个正整数: "); int n = s.nextInt(); int k = 2; System.out.print(n + "="); while (k <= n) { if (k == n) { System.out.println(n); break; } else if (n % k == 0) { System.out.print(k + "*"); n = n / k; } else { k++; } } } } ``` **知识点**: - **质因数分解**是将一个正整数表示为其质因数的乘积形式。 - 通过循环不断除以最小的质数,直至剩余部分为1或自身。 - 使用`Scanner`类获取用户输入。 ### 知识点五:成绩分级 **描述**:输入学生成绩,根据成绩范围输出相应的等级。 **代码分析**: ```java import java.util.Scanner; public class Lianxi05 { public static void main(String[] args) { int x; char grade; Scanner s = new Scanner(System.in); System.out.print("请输入学生成绩: "); x = s.nextInt(); grade = x >= 90 ? 'A' : x >= 60 ? 'B' : 'C'; System.out.println("成绩等级为 " + grade); } } ``` **知识点**: - 使用`char`类型存储成绩等级。 - 条件运算符`? :`用于根据不同的成绩范围分配等级。 - `Scanner`类用于读取用户输入的成绩。 ### 知识点六:最大公约数与最小公倍数 **描述**:输入两个正整数,输出它们的最大公约数与最小公倍数。 **代码分析**: ```java import java.util.Scanner; public class Lianxi06 { public static void main(String[] args) { int a, b, m; Scanner s = new Scanner(System.in); System.out.print("请输入第一个正整数: "); a = s.nextInt(); System.out.print("请输入第二个正整数: "); b = s.nextInt(); Def fcd = new Def(); m = fcd.deff(a, b); int n = a * b / m; System.out.println("最大公约数: " + m); System.out.println("最小公倍数: " + n); } } class Def { public int deff(int x, int y) { int t; if (x < y) { t = x; x = y; y = t; } while (y != 0) { if (x == y) { return x; } else { int k = x % y; x = y; y = k; } } return x; } } ``` **知识点**: - 最大公约数(GCD)和最小公倍数(LCM)可以通过辗转相除法求得。 - 使用类`Def`封装最大公约数的计算逻辑。 - 最小公倍数可以通过两数乘积除以最大公约数得到。 ### 知识点七:字符串统计 **描述**:输入一个字符串,统计其中英文字母和空格的数量。 **未完成代码分析**: ```java import java.util.*; public class Lianxi07 { // 假设代码未给出完整 // 需要完成字符串输入及统计字母和空格数量的功能 } ``` **待完成**: - 使用`Scanner`类获取用户输入的字符串。 - 遍历字符串中的每一个字符,统计英文字母和空格的数量。 - 输出统计结果。 以上就是从给定文件中提取的关键知识点。每一道题目都涉及到了算法的基本概念和实现方法,有助于加深对算法的理解和应用能力。
































- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 继电器在电气工程及自动化低压电器中的应用.docx
- 典型网络工程的案例分析.doc
- 全国计算机等考试二C笔试试卷.doc
- 大学计算机实验报告记录样本.doc
- 科大讯飞人工智能定义城市1.0版本发布.docx
- 软件学院软件工程硕士版培养方案终稿单证.doc
- 基于单片机的数字万用表研究设计.doc
- 集团公司大数据平台建设方案.docx
- 南京大学关于机器学习的 PPT 教学课件
- 热电厂建设项目管理控制研究.docx
- 项目管理的难点与对策.doc
- Oracle程序设计.docx
- 不依赖 sk-learn 库的纯 Python 机器学习算法实现
- 基于单片机的抢答器的方案设计书.doc
- 试论大数据环境下的企业财务管理改革路径.docx
- 初中英语教师基于网络平台的自主发展.docx


