知识点总结
- 运用了递归的算法
- 递归算法是一种直接或间接地调用自身的算法。在编写程序时,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。 - 运用了Java里自带的util用import调用了其中的Scanner
补做内容与截图
- 通过学习博客,然后各种渠道查找相关信息,成功编译并运行了文件
import java.util.Scanner;
class SumofRecur
{
public static void main(String[] args) {
System.out.println("输入n,打印1!+2!+3!+...+n!的值");
Scanner in=new Scanner(System.in);
int n=in.nextInt();
while(n<1) {
System.out.println("请输入大于0的数字:");
n=in.nextInt();
}
int sum=0;
for(int i=1;i<=n;++i)
sum+=recursion(i);
System.out.println(sum);
}
public static int recursion(int n){
if(n==1)
return 1;
else
return n*recursion(n-1);
}
}
补做教材第二章第三章编程题目
第二章
- 第一题
public class E {
public static void main(String args[]) {
System.out.println((int)'你');
System.out.println((int)'我');
System.out.println((int)'他');
}
}
```
- 第二题
public class E {
public static void main (String args[ ]) {
char cStart='α',cEnd='ω';
for(char c=cStart;c<=cEnd;c++)
System.out.print(" "+c);
}
}
###第三章
- 第一题
public class Xiti1 {
public static void main(String args[]) {
double sum=0,a=1,int i=1;
while(i<=20) {
sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
- 第二题
public class Xiti2 {
public static void main(String args[]) {
int i,j;
for(j=2;j<=100;j++) {
for(i=2;i<=j/2;i++) {
if(j%i==0)
break;
}
if(i>j/2) {
System.out.print(" "+j);
}
}
}
}
- 第三题
class Xiti3 {
public static void main(String args[]) {
double sum=0,a=1,i=1;
do { sum=sum+a;
i++;
a=(1.0/i)a;
}
while(i<=20);
System.out.println("使用do-while循环计算的sum="+sum);
for(sum=0,i=1,a=1;i<=20;i++) {
a=a(1.0/i);
sum=sum+a;
}
System.out.println("使用for循环计算的sum="+sum);
}
- 第四题
public class Xiti4 {
public static void main(String args[]) {
int sum=0,i,j;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j<i;j++) {
if(i%j0)
sum=sum+j;
}
if(sumi)
System.out.println("完数:"+i);
}
}
}
- 第五题
public class Xiti5 {
public static void main(String args[]) {
int m=8,item=m,i=1;
long sum=0;
for(i=1,sum=0,item=m;i<=10;i++) {
sum=sum+item;
item=item*10+m;
}
System.out.println(sum);
}
}
- 第六题
public class Xiti6 {
public static void main(String args[]) {
int n=1;
long sum=0;
while(true) {
sum=sum+n;
n++;
if(sum>=8888)
break;
}
System.out.println("满足条件的最大整数:"+(n-1));
}
}