package s1; //题目:打印出如下图案(菱形) public class Fs19 { public static void main(String[] args) { //打印上面部分: int n=4; for (int i = 0; i < n; i++) { //控制行 for (int k =3-i; k > 0 ; k--) { //控制*前面空格的输出 System.out.print(" "); } //输出符号,但不要换行 for (int j = 0; j <=2*i;j++) { //控制列 System.out.print("*"); } //输出完符号马上换行 System.out.println(); } //打印下面部分 n=3; for (int i = n; i > 0; i--) { //控制行 for (int k =3-i+1; k > 0 ; k--) { //控制*前面空格的输出,第一行要加空格 System.out.print(" "); } //输出符号,但不要换行 for (int j = 0; j <=2*i-2;j++) { //控制列 System.out.print("*"); } //输出完符号马上换行 System.out.println(); } } }
package s1; //题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。 public class Fs20 { public static void main(String[] args) { double c=1,c0=0,d=2,d0=0,s=0,s1=0,c1=0; for (int i=0;i<=20;i++){//非叠加的数现找首项,再使用中间项替代 s1=d/c; d0=d+c; c=d; d=d0; // System.out.println(d+"/"+c); // System.out.println(s1); s+=s1; } System.out.println(s); } }
package s1; //题目:求1+2!+3!+…+20!的和题目:求1+2!+3!+…+20!的和 public class Fs21 { public static void main(String[] args) { long s=1,s1=1; for (int i=1;i<=20;i++) { s1 = s1 * i; s += s1; System.out.println(s1); } System.out.println(s); // for (int n=1;n<=i;n++) // { // s=s*n; // System.out.println(s); // s+=s; // System.out.println(s); // } // s=i; // s*=s; // s1+=s; // System.out.println(i); // System.out.println(s); // System.out.println(s1); // for (int n=0;n<=20;n++){ // // } } } 其他写法
public static void main(String[] args) {
int sum=0;//总和
for (inti = 1; i <= 20;i++) {
sum+=factorial(i);//累加 }
System.out.println(""+sum); } //求阶乘的实现
private static int factorial(inti) {//求阶乘
int mult=1; for (intj=1 ; j <= i;j++) { mult*=j; }
returnmult;//返回阶乘结果 }