Java代码题目:计算奖金和完全平方数

版权声明:本文为博主原创文章,未经博主允许不得转载, 微信公众号『醉翁猫咪』特约作者

1.计算奖金 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

package jiajia;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;

public class zuoye1 {

/**
 * [@param](https://my.oschina.net/u/2303379) args
 * 企业发放的奖金根据利润提成。
 * 利润(I)低于或等于10万元时,奖金可提10%;
 * 利润高于10万元,低于20万元时,
 * 低于10万元的部分按10%提成,高于10万元的部分,
 * 可提成7.5%;20万到40万之间时,高于20万元的部分,
 * 可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
 * 60万到100万之间时,高于60万元的部分,
 * 可提成1.5%,高于100万元时,超过100万元的部分按1%提成,
 * 从键盘输入当月利润I,求应发放奖金总数?
 * main:用于输入输出
 * key_Input:输入利润数
 * bonus:计算奖金。
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.print("请输入当前利润:");
    long profit = Long.parseLong(key_Input());
    System.out.println("应发奖金:"+bonus(profit));
}
//从键盘输入的内容
private static String key_Input() {
    // TODO Auto-generated method stub
    String str = null;
    BufferedReader bufln = new BufferedReader(new InputStreamReader(System.in));
    try{
        str=bufln.readLine();
    }catch(IOException e){
        e.printStackTrace();
    }finally{
        try{
            bufln.close();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    return str;
}
private static long bonus(long profit) {
    // TODO Auto-generated method stub
    long prize = 0;
    long profit_sub = profit;
    if(profit>1000000){
        profit = profit_sub-1000000;
        profit_sub = 1000000;
        prize += profit*0.01;
    }
    if(profit>600000){
        profit=profit_sub-600000;
        profit_sub = 600000;
        prize += profit*0.015;
    }
    if(profit>400000){
        profit = profit_sub-400000;
        profit_sub = 400000;
        prize += profit*0.03;
    }
    if(profit>200000){
        profit = profit_sub-200000;
        profit_sub = 200000;
        prize += prize*0.05;
    }
    if(profit>100000){
        profit = profit_sub-100000;
        profit_sub = 100000;
        prize += profit*0.075;
    }
    prize += profit_sub*0.1;
    return prize;
}

}

2.完全平方数 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 假设该数为 x。 1、则:x + 100 = n2, x + 100 + 168 = m2 2、计算等式:m2 - n2 = (m + n)(m - n) = 168 3、设置: m + n = i,m - n = j,i * j =168,i和 j 至少一个是偶数 4、可得: m = (i + j) / 2, n = (i - j) / 2,i和 j 要么都是偶数,要么都是奇数。 5、从 3 和 4 推导可知道,i与 j 均是大于等于 2 的偶数。 6、由于i * j = 168, j>=2,则 1

package jiajia;

public class zuoye {

/**
 * [@param](https://my.oschina.net/u/2303379) args
 * 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
 * x + 100 = n2, x + 100 + 168 = m2
 * m2 - n2 = (m + n)(m - n) = 168
 * m + n = i,m - n = j,i * j =168,i和 j 至少一个是偶数
 * m = (i + j) / 2, n = (i - j) / 2,i和 j 要么都是偶数,要么都是奇数。
 * i与 j 均是大于等于 2 的偶数
 * i * j = 168, j>=2,则 1 <i< 168 / 2 + 1。
 * 接下来将i的所有数字循环计算即可
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

// double a,b; // for(int i=1;i<100000;i++){ // if(Math.sqrt((long)(i+100)%1==0) && Math.sqrt((long)(i+100+168))%1==0) // { // System.out.println(i); // } // } // } int x,y; int z; for(int i=1;i<100000;i++){ x=(int) Math.sqrt(i+100); y=(int) Math.sqrt(i+268); if(xx==i+100 && yy==i+268){ System.out.println(i); } } } }

喜欢本文的朋友们,欢迎长按下图关注订阅号醉翁猫咪,收看更多精彩内容 输入图片说明

转载于:https://my.oschina.net/xiaomaomi1997/blog/1614067

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值