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);
}
}
}
}



关注我,每天都有优质技术文章推送。工作、学习累了的时候放松一下自己。

本文如果对你有帮助请点 。你的是对我最大的肯定!!!

最新文章

  1. Eclipse 安装 jBPM 插件
  2. Java中Sting类型对象内容不可改变
  3. Python-事件驱动模型代码
  4. VBA添加表格
  5. ORACLE 临时表空间清理
  6. POJ1840Eps
  7. win7 下安装oracle 10g
  8. 后台线程,优先级,sleep,yield
  9. 重装eclipse要做的事
  10. 编写简单的爬虫从流行的Scrapy 框架讲起
  11. Linux x86_64内核中断初始化
  12. jstl标签库示例一
  13. 我的.net并发系列文章及项目经验整理
  14. codeblocks1712设置中文
  15. thingsboard改造使用mysql数据库
  16. Python-Mongodb vs mysql
  17. idea中git颜色不显示或者文件右键没有git按钮解决方法
  18. Java随机字符串:随机数字字符串,工具类
  19. 爬虫基础线程进程学习-Scrapy
  20. gulp给文件加版本号

热门文章

  1. C# SQl通过对视图数据二次查询,统计数据
  2. 关于visual studio 2015 智能提示英文,而非中文的解决方案
  3. 读《计算机系统要素:从零开始构建现代计算机》的思考:CodeGen
  4. 2019 边锋游戏java面试笔试题 (含面试题解析)
  5. Java自学-操作符 算数操作符
  6. 使用MQ消息队列的优缺点
  7. 【转载】 C#中手动创建一个DataTable对象并写入数据
  8. 17、在vue中引用移动端框架Vux:
  9. XenCenter安装VM
  10. MySQL添加用户、为用户分配权限