数据结构第一章绪论课后小练

本文提供了四道编程题目的解答方案,包括素数判断、阶乘求和、满足不等式的最小值计算以及乘法口诀表的打印。每道题目都附带了完整的Java代码实现,有助于理解算法设计与实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题一:

判断n是否是一个素数,若是则返回逻辑值true,否则返回逻辑值false。

package ch01;

import java.util.Scanner;

public class Part01 {
    public boolean prime(int a) {
        boolean flag=true;
        if(a==1) {
            flag=false;
        }
        for(int i=2;i<a-1;i++) {
            if(a%i==0) {
                flag=false;
                break;
            }
        }
        return flag;
    }

    public static void main(String[] args) {
        int a;
        Scanner in =new Scanner(System.in);
        a=in.nextInt();
        Part01 aa=new Part01();
        System.out.println(aa.prime(a));
        
        
            
        }
    }

题二:

设计一个算法,计算∑i=1ni!的值。

package ch01;

import java.util.Scanner;

public class Part01 {
    public int sum(int a) {
        int i,j,b,sum=0;
        for(i=1;i<=a;i++) {
            b=1;
            for(j=0;i<=a;i++) {
                b*=i;
                sum+=b;
            }
        }
        return sum;
    }

    public static void main(String[] args) {
        int a;
        Scanner in =new Scanner(System.in);
        a=in.nextInt();
        Part01 aa=new Part01();
        System.out.println(aa.sum(a));
        
        }
    }

 题三:

设计一个算法,计算满足不等式1+2+3+······+i>=n的最小值。

package ch01;

import java.util.Scanner;

public class Part01 {
    public int sum(int a) {
        int b=0,c;
        for(int i=1;;i++) {
            if(b<=a) {
                b+=i;
                System.out.println(i);
            }else {
                c=i-1;
                break;
            }
            
        }
        return c;
    }

    public static void main(String[] args) {
        int a;
        Scanner in =new Scanner(System.in);
        a=in.nextInt();
        Part01 aa=new Part01();
        System.out.println(aa.sum(a));
        
        }
    }

题四:

设计一个算法,打印一个n行乘法口诀表。要求第i行(1<=i<=n)中有n-i+1个乘法项,每个乘法项为i与j(i<=j<=n)的乘积。

package ch01;

import java.util.Scanner;

public class Part01 {
    public void sum(int a) {
        for(int i =1;i<=a;i++) {
            for(int j=i;j<=a;j++) {
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println();
            }
        }

    public static void main(String[] args) {
        int a;
        Scanner in =new Scanner(System.in);
        a=in.nextInt();
        Part01 aa=new Part01();
        aa.sum(a);
        
        }
    }

 

 

2019-04-06    10:26:08    房廷飞   加油!

 

转载于:https://www.cnblogs.com/fangtingfei/p/10660486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值