11.有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
package com.myd.ex3;
public class CombineNum {
public static void main(String[] args) {
int sum=0;
for(int a=1;a<=4;a++) {
for(int b=1;b<=4;b++) {
for(int c=1;c<=4;c++) {
if(a!=b&&a!=c&&b!=c) {
System.out.println(a+""+b+""+c);
sum++;
}
}
}
}
System.out.println(sum);
}
}
12.企业发放的奖金根据利润提成。利润(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 com.myd.ex3;
import java.util.*;
public class GetAward {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
double award = 0;
if (i < 0) {
System.out.println("输入错误!");
} else if (i >= 100) {
award = 3.45 + 0.01 * (i - 100);
} else {
switch (i / 10) {
case 0:
award = 0.1 * i;
break;
case 1:
award = 1 + 0.075 * (i - 10);
break;
case 2:
case 3:
award = 1.75 + 0.05 * (i - 20);
break;
case 4:
case 5:
award = 2.25 + 0.03 * (i - 40);
break;
case 6:
case 7:
case 8:
case 9:
award = 2.85 + 0.015 * (i - 60);
break;
}
}
System.out.println("奖金是" + award + "万元");
}
}
13.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
package com.myd.ex3;
public class GuessNum {
public static void main(String[] args) {
int flag=0,num=1;
while(flag!=1) {
double test=Math.sqrt(num+100);
if(Math.round(test)==test){
double test2=Math.sqrt(num+268);
if(Math.round(test2)==test2) {
System.out.println(num);
}
}
num++;
if(num==100000) {
flag=1;
}
}
}
}
14.输入某年某月某日,判断这一天是这一年的第几天?
package com.myd.ex3;
import java.util.*;
public class DayofYear {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 输入年月日
System.out.println("请输入年月日,以空格隔开");
int yy = sc.nextInt();
int mm = sc.nextInt();
int dd = sc.nextInt();
int fl1 = 0, fl2 = 0, r = 0;
// 判断输入区间,返回1继续判断
fl1 = selInput(yy, mm, dd);
if (fl1 == 1) {
fl2 = selDoYear(yy, mm, dd);// 返回1则为闰年
}else System.exit(0);
// 计算日期
int[] p={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (fl2 == 1) {
p[1]=29;
}
r = calcYear(mm, dd, p);
System.out.println(mm + "月" + dd + "日处于" + yy + "年的第" + r + "天");
}
static int calcYear(int mm, int dd,int[] d) {
int res = 0;
if (mm != 1) {
for (int i = 1; i < mm; i++) {
res += d[i-1];
}
res += dd;
} else
res = dd;
return res;
}
static int selInput(int yy, int mm, int dd) { // 判断输入区间
int t = 0;
if (yy <= 0) {
System.out.println("年份输入错误!");
} else if (mm <= 0 && mm > 12) {
System.out.println("月份输入错误!");
} else if (dd <= 0 || dd > 31) {
System.out.println("日期输入错误!");
} else t = 1;
return t;
}
static int selDoYear(int yy, int mm, int dd) { // 若年份为闰年,则调整规则
int flag = 0;
if (yy % 4 == 0 && yy % 100 != 0 || yy % 400 == 0) {
flag = 1; // 闰年标记
}
if (mm == 2 && dd > 29 && flag == 1) {
System.out.println("输入错误!");
} else if (mm == 2 && dd > 28) {
System.out.println("输入错误!");
}
return flag;
}
}
15.输入三个整数x,y,z,请把这三个数由小到大输出。
package com.myd.ex3;
import java.util.*;
public class SortNum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
int z = sc.nextInt();
int[] p = { x, y, z };
Arrays.sort(p);
System.out.println(p[0]+" "+p[1]+" "+p[2]);
}
}