恒定橡果的java习题二

1.小明买笔

【问题描述】每年过年的时候,小明总是要为新学期准备很多的水笔。今天商店搞活动,每满5支送1支,若满20支则赠送5支,每支水笔5元。小明一共带了n(n>10)元钱,希望能买到最多的水笔,编写程序请你帮他计算他最多能买到多少支?

【输入形式】

输入小明带的钱数n(整数)
【输出形式】

输出小明最多可以买到几支笔(整数)
【样例输入】

100

【样例输出】

25
        public static void main(String[] args){
        Scanner scanner= new Scanner(System.in);
        int a,b,c;
        a = scanner.nextInt();//读取输入
        c = a / 5;//一支笔5块。计算能卖多少支笔
        if(c >= 5 && c < 20)
            c = c + c / 5;//如果买了20支以内,那么增加买五送一的数量
        if(c >= 20) {
            b = c % 20;
            c = c + (c / 20) * 5 + b / 5;//如果超过20支笔,单独计算超过的部分
        }
        System.out.print(c);
    }

这道题比较简单,到达20支送5支,超过部分按买五送一来,所以只要计算一次买二十送五就好了

2.大象喝水

【问题描述】一只大象口渴了,要喝20升水才能解渴,但现在只有一个深为h厘米,底面积为s平方厘米的小圆桶(h和s是浮点数)。编写程序,计算大象至少要喝多少桶水才能解渴。
【输入形式】

输入桶高和桶底面积

【输出形式】

大象至少要喝的桶数(整数)。
【样例输入】

30
50

【样例输出】

14
public static void main(String[] args) {
        Scanner a= new Scanner(System.in);
        double h = a.nextDouble();//读取深度
        double s =a.nextDouble();//读取底面积
        double b=h*s;//计算容积
        double c=20000/b;//计算桶的数量,因为水的密度为1所以不用额外转换
        int tong =(int)(c);//结果转换为整数
        if(tong %10==0){
            System.out.println(tong);
        }else{
            System.out.println(tong+1);
        }

3.求公式近似值

【问题描述】

已知ex的近似值可由下面公式计算得出:

ex=1 + x/1! + x2/2! + x3/3! + ...... + xn/n!
给定x和n,利用上述公式求得ex的近似值。

【输入形式】

从控制台输入数x,和整数n(n>=1),用空格隔开。

【输出形式】

向控制台输出求得的ex 的近似值(小数点后保留6位有效数据)。

【样例输入】

7   27

【样例输出】

1096.633156

【样例说明】

输入的x为7,n的值为27,即:求e7的近似值,利用上述公式求得的近似值为:1096.633156。

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double x = scanner.nextDouble();
        int y = scanner.nextInt();
        double a = jisuan(x, y);//调用方法jisuan并将结果赋值给a
        System.out.printf("%.6f", a);
    }
    public static double jisuan(double x, int y) {//定义一个静态方法jisaun,计算给定x值和项数y时的泰勒级数近似值
        double a = 1.0;// 初始化近似值为1.0,这是泰勒级数的第一项
        double b = 1.0;// 初始化当前项为1.0,后续将逐步更新此项
        double c = 1.0;// 初始化阶乘值为1.0,后续将逐步更新此项
        for (int i = 1; i <= n; i++) {
            b *= x / i;// 更新当前项的值,根据泰勒级数公式
            c *= i;// 计算并更新阶乘值
            a += b;// 将当前项累加到总近似值中
        }
        return a;
    }

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值