= 0;
for (i = 1; i <= 4; i++) {
for (int k = 1; k <= 4 - i; k++)
System.out.print( " " );
for (j = 1; j <= 2 * i - 1; j++)
System.out.print("*");
System.out.println();
}
for (i = 3; i >= 1; i--) {
for (int k = 1; k <= 4 - i; k++)
System.out.print( " " );
for (j = 1; j <= 2 * i - 1; j++)
System.out.print("*");
System.out.println();
}
}
}
【程序20】 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
public class Demo20 {
public static void main(String[] args) {
float fm = 1.0f;
float fz = 1.0f;
float temp;
float sum = 0f;
for (int i = 0; i < 20; i++) {
temp = fm;
fm = fz;
fz = fz + temp;
System.out.println((int) fz + "/" + (int) fm);
sum += fz / fm;
}
System.out.println(sum);
}
}
【程序21】 题目:求1+2!+3!+...+20!的和。
1.程序分析:此程序只是把累加变成了累乘。
public class Demo21 {
public static void main(String[] args) {
long sum = 0;
long fac = 1;
for (int i = 1; i <= 20; i++) {
fac = fac * i;
sum += fac;
}
System.out.println(sum);
}
}
【程序22】 题目:利用递归方法求5!。
1.程序分析:递归公式:f(n)=f(n-1)*4!
import java.util.Scanner;
public class Demo22 {
public static long fac(int n) {
long value = 0;
if (n == 1 || n == 0) {
value = 1;
} else if (n > 1) {
value = n * fac(n - 1);
}
return value;
}
public static void main(String[] args) {
System.out.println("请输入一个数:");
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高等教育JAVA经典算法50题(10)全文阅读和word下载服务。
相关推荐: