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 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 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(x*x==i+100 && y*y==i+268){
                System.out.println(i);
            }
        }
    }
}
 
关注我,每天都有优质技术文章推送。工作、学习累了的时候放松一下自己。 
本文如果对你有帮助请点顶 。你的顶是对我最大的肯定!!!
Java代码题目:计算奖金和完全平方数的更多相关文章
- java:根据利润表计算奖金所得
		
代码实现: public class Hello { public static void main(String srgs[]) { Lirun(100); Lirun2(100); } publi ...
 - 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果
		
今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一 ...
 - JAVA 基础编程练习题12 【程序 12 计算奖金】
		
12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成 ...
 - JAVA代码根据经纬度范围计算WGS84与谷歌全球墨卡托包含的切片数目与拼接图像像素尺寸
		
根据项目需求编写的代码. 适用场景:在网络地图上,比如天地图与谷歌地图,用户用鼠标在地图上拉一个矩形框,希望下载该矩形框内某一层级的瓦片数据,并将所有瓦片拼接成一个完整的,包含地理坐标的tif图像. ...
 - Java代码计算运行时间
		
突然想准确的测试一下Java代码的执行时间,在网上找了一会.发现基本有以下两种方法:第一种是以毫秒为单位计算的. Java代码 //伪代码 long startTime=System.currentT ...
 - Java50道经典习题-程序12 计算奖金
		
题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%: 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: ...
 - 对一致性Hash算法,Java代码实现的深入研究
		
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
 - Java对象大小计算
		
这篇说说如何计算Java对象大小的方法.之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型. 普通对象的结构如下,按64位机 ...
 - 几种简单的负载均衡算法及其Java代码实现
		
什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技 ...
 
随机推荐
- Oracle的约束
			
学习笔记: ##约束 *概念:限定用户输入的内容. *案例: *练习 * 1. 在score表的grade列添加CHECK约束,限制grade列 ...
 - C# GDI graphics.DrawImage 的参数问题
			
graphics.DrawImage(imageSource, new System.Drawing.Point[] { ,), , ), , ), } ); graphics.DrawImage(i ...
 - 三分钟掌握,使用Quqrtz.Net实现定时发送邮件
			
在实际的项目中,常遇到延时触发工作以及定时触发工作 这里所讲的是借助第三方的组件 Quartz.Net 来实现(源码位置:https://github.com/quartznet/quartznet) ...
 - (原创)理解主机设备(PLC,PC机)之间的以太网通信
			
主机设备:PC机,PLC 网络设备:家用路由器 局域网包括了有线局域网和无线局域网(WIFI).怎么去使用2者? 网络设备的职责最终目的为了帮助2台主机的数据传输.路由器,交换机范围不同,目的相同.在 ...
 - 【转载】C#中AddRange方法往ArrayList集合末尾添加另一个集合
			
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,如果需要往一 ...
 - Qt--多线程间的互斥
			
一.多线程间的互斥 临界资源--每次只允许一个线程进行访问的资源 线程间的互斥--多个线程在同一个时刻需要访问临界资源 QMute类是一把线程锁,保证线程间的互斥--利用线程锁能够保证临界资源的安全性 ...
 - orcale的to_number方法
			
转自:https://blog.csdn.net/tiantangdizhibuxiang/article/details/81034893 TO_NUMBER函数()是Oracle中常用的类型转换函 ...
 - AI面试-算法结构基础
			
其实目前国内几乎只要是技术岗,面试中都100%会问算法和数据结构. 这两者能快速体现候选人真实的水平,比如代码量,代码的质量,性能,思维是否有逻辑,是否灵活. 算法结果概述 1.前言 1.应用范围:机 ...
 - windows10安装redis
			
下载 github上下载最新(或者你需要的版本)的redis安装包,下载地址如下: https://github.com/microsoftarchive/redis/releases 打开点击版本号 ...
 - Pytorch之Dataparallel源码解析
			
之前对Pytorch 1.0 的Dataparallel的使用方法一直似懂非懂,总是会碰到各种莫名其妙的问题,今天就好好从源头梳理一下,更好地理解它的原理或者说说下步骤. 源码地址: https:// ...