JAVA练习题07

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;//返回阶乘结果 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值