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代码题目:计算奖金和完全平方数的更多相关文章

  1. java:根据利润表计算奖金所得

    代码实现: public class Hello { public static void main(String srgs[]) { Lirun(100); Lirun2(100); } publi ...

  2. 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果

            今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一 ...

  3. JAVA 基础编程练习题12 【程序 12 计算奖金】

    12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成 ...

  4. JAVA代码根据经纬度范围计算WGS84与谷歌全球墨卡托包含的切片数目与拼接图像像素尺寸

    根据项目需求编写的代码. 适用场景:在网络地图上,比如天地图与谷歌地图,用户用鼠标在地图上拉一个矩形框,希望下载该矩形框内某一层级的瓦片数据,并将所有瓦片拼接成一个完整的,包含地理坐标的tif图像. ...

  5. Java代码计算运行时间

    突然想准确的测试一下Java代码的执行时间,在网上找了一会.发现基本有以下两种方法:第一种是以毫秒为单位计算的. Java代码 //伪代码 long startTime=System.currentT ...

  6. Java50道经典习题-程序12 计算奖金

    题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:    利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:     ...

  7. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  8. Java对象大小计算

    这篇说说如何计算Java对象大小的方法.之前在聊聊高并发(四)Java对象的表示模型和运行时内存表示 这篇中已经说了Java对象的内存表示模型是Oop-Klass模型. 普通对象的结构如下,按64位机 ...

  9. 几种简单的负载均衡算法及其Java代码实现

    什么是负载均衡 负载均衡,英文名称为Load Balance,指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技 ...

随机推荐

  1. 类型和变量(C#学习笔记02)

    类型和变量 [C#类型和变量(原文参考官方教程)]https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/types-and-var ...

  2. C#读取Excel文件,准换为list

    经常会用到,废话不多说直接贴代码 //读取Excel文件 public static DataTable ReadExcelToTable(string path)//excel存放的路径{try{ ...

  3. 正则表达式回溯导致的CPU打满

    参考: https://my.oschina.net/ttscjr/blog/2208526 https://mp.weixin.qq.com/s?__biz=MzA4MjIyNTY0MQ==& ...

  4. Java之路---Day18(List集合)

    2019-11-05-23:03:28 List集合: java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了List 接口的对象称为Lis ...

  5. dubbo循序渐进 - 使用Docker安装Nexus

    docker search nexus docker pull docker.io/sonatype/nexus3 mkdir -p /usr/local/nexus3/nexus-data /usr ...

  6. spark和深度学习集成调研

    http://dy.163.com/v2/article/detail/E2TMAOTU0518KCLV.html http://www.elecfans.com/d/676451.html http ...

  7. idea中从代码自动定位到左侧类结构位置

    标题的意思表达的不是很清楚,下面是这个设置的方法: 图中红圈中就是设置的位置,把鼠标悬浮在上面,可以看到这个设置的名称是Autoscroll from source, 它的作用是,你在代码中点击一个方 ...

  8. 16. Promise对象

    目录 Promise对象 一.含义 1. Promise是什么 2. 实例讨论 二.Promise特性案例解析 1. Promise的立即执行性 2. promise的三种状态 3. Promise的 ...

  9. CentOS 7 - 安装Python 3

    Enable Software Collections (SCL) Software Collections, also known as SCL is a community project tha ...

  10. Android-----创建SQLite数据库

    简单介绍一下Android系统内置轻便又功能强大的嵌入式数据库--SQLite. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎,它是一款轻型的数据库,是遵守ACID的关 ...