1.求水仙花数。
ABC = a^3+b^3+c^3
private static void test1() {
// 求水仙花数。
// ABC = a^3+b^3+c^3
for (int i = 100; i < 999; i++) {
int B = i / 100;
int S = i % 100 / 10;
int G = i % 10;
if ((B * B * B)+(S * S * S)+(G * G * G) == i){
System.out.print(i + " ");
}
}
}
/*
153 370 371 407
*/
2.求 a+aa+aaa+.......+aaaaaaaaa=?
其中a为1至9之中的一个数,项数也要可以指定。
private static void test2() {
//求 a+aa+aaa+.......+aaaaaaaaa=?
// 其中a为1至9之中的一个数,项数也要可以指定。
Scanner sc = new Scanner(System.in);
System.out.print("项数:");
int len = sc.nextInt();
Scanner sc1 = new Scanner(System.in);
System.out.print("数字:");
double num = sc1.nextDouble();
double one = num, sum = 0;
for (int i = 1; i <= len; i++) {
if (i == 1) {
sum += num;
//System.out.println(num);
continue;
}
num = one + num * 10;
sum += num;
//System.out.println(num);
}
System.out.println("和为:"+sum);
}
/*
项数:6
数字:1
和为:123456.0
*/
3.如果两个素数之差为2,这样的两个素数就叫作"孪生数",
找出100以内的所有"孪生数".
public static void test3() {
// 如果两个素数之差为2,这样的两个素数就叫作"孪生数",
// 找出100以内的所有"孪生数".
int nums1 = 0,nums2 = 0;
int a=0;
System.out.println("孪生数为:"+"1"+"\t"+"3");
for (int num = 1; num <= 100; num++) {
boolean flag = true ;
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
flag = false;
break;
}
}
if (flag) {
if (a % 2 == 0){
nums1 = num; //
if (nums1 - nums2 == 2 ) {
System.out.println("孪生数为:"+nums2+"\t"+nums1);
}
a++;
} else {
nums2 = num;
if (nums2 - nums1 == 2 ) {
System.out.println("孪生数为:"+nums1+"\t"+nums2);
}
a++;
}
}
}
}
/*
孪生数为:1 3
孪生数为:3 5
孪生数为:5 7
孪生数为:11 13
孪生数为:17 19
孪生数为:29 31
孪生数为:41 43
孪生数为:59 61
孪生数为:71 73
*/
4.把123456789这个数乘以一个什么数,能使它的结果不但
不含零,而且仍然是 由1,2,3,4,5,6,7,8,9这九个数字组成的,
只是顺序不同而已.
private static void test4() {
//把123456789这个数乘以一个什么数,能使它的结果不但
//不含零,而且仍然是 由1,2,3,4,5,6,7,8,9这九个数字组成的,
//只是顺序不同而已.
int m = 123456789 ,n;
int j2 = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9;
for (int i = 0; i < 100; i++) {
n = m * i;
int a = n / 100000000;
int b = n / 10000000 - a*10;
int c = n / 1000000 - a*100 - b*10;
int d = n / 100000 - a*1000 - b*100 - c*10;
int e = n / 10000 - a*10000 - b*1000 - c*100 - d*10;
int f = n / 1000 - a*100000 - b*10000 - c*1000 - d*100 - e*10;
int g = n / 100 - a*1000000 - b*100000 - c*10000 - d*1000 - e*100 - f*10;
int h = n / 10 - a*10000000 - b*1000000 - c*100000 - d*10000 - e*1000 - f*100 - g*10;
int o = n % 10;
int j1 = a * b * c * d * e * f * g * h * o;
if (j1 == j2){
System.out.println(n);
}
}
}
/*
123456789
246913578
493827156
617283945
864197523
987654312
*/
5.循环的套嵌练习;
private static void test5() {
/*请使用循环完成如下图案的打印
*
**
***
****
*****
******
*/
for (int i = 0; i <= 6; i++) {
for (int i1 = 0; i1 < i; i1++) {
System.out.print("*");
}
System.out.println();
}
/*
*
***
*****
*******
*/
for (int i = 0; i <= 4; i++) {
for (int j = 4-i; j > 0; j --){
System.out.print(" ");
}
for (int m = 0; m < 2 * i -1 ; m ++){
System.out.print("*");
}
System.out.println();
}
/*
*******
*****
***
*
*/
for (int m = 1; m <= 4; m++) {
for (int n = 0; n <= m; n++) {
System.out.print(" ");
}
for (int x = 1; x <= 7 -2 * (m - 1); x++) {
System.out.print("*");
}
System.out.println();
}
}
6.小明今年高考,考了700,父母,给他买了一对刚刚出生小兔子,
四个月后成长为成年兔子,成年后,每过一个月,假设生出一对新的小兔子
问:第n月,小明家共有多少对兔子。
private static int test6( int i) {
//小明今年高考,考了700,父母,给他买了一对刚刚出生小兔子,
//四个月后成长为成年兔子,成年后,每过一个月,假设生出一对新的小兔子
//问:第n月,小明家共有多少对兔子。
if (i < 4){
return 1;
}
return test6(i -1) + test6(i - 4);
}
7.假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票, 提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢:
1)如果用户的输入数匹配彩票的实际顺序,奖金为10 000美元。
2)如果用户输入的所有数字匹配彩票的所有数字,奖金为3000美元。
3)如果用户输人的一个数字匹配彩票的一个数字,奖金为1000美元。
private static void test7() {
// 假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,
// 提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢:
// 1)如果用户的输入数匹配彩票的实际顺序,奖金为10 000美元。
// 2)如果用户输入的所有数字匹配彩票的所有数字,奖金为3000美元。
// 3)如果用户输人的一个数字匹配彩票的一个数字,奖金为1000美元。
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个两位数:");
int cai = sc.nextInt();
int zhen = (int)(Math.random() * 90 + 10);
int cs = cai / 10;
int cg = cai % 10;
int zs = zhen / 10;
int zg = zhen % 10;
if (cai == zhen){
System.out.println("恭喜你获得10000美元奖金!");
System.out.println("本期中奖号码为:" + zhen);
}
if ((cs == zs || cg == zg) && (cs == zg || cg == zs)){
System.out.println("恭喜你获得3000美元奖金!");
System.out.println("本期中奖号码为:" + zhen);
}
if (cs == zs || cg == zg || cs == zg || cg == zs){
System.out.println("恭喜你获得1000美元奖金!");
System.out.println("本期中奖号码为:" + zhen);
}
else {
System.out.println("很遗憾你未中奖!");
System.out.println("本期中奖号码为:" + zhen);
}
}
/*
请输入一个两位数:62
恭喜你获得1000美元奖金!
本期中奖号码为:64
*/
8.
private static void test8() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = sc.nextInt();
Scanner sc1 = new Scanner(System.in);
System.out.print("请输入b的值:");
int b = sc1.nextInt();
Scanner sc2 = new Scanner(System.in);
System.out.print("请输入c的值:");
int c = sc2.nextInt();
if ( b * b -(4 * a * c) > 0){
System.out.print("有两个根!!!");
}
if ( b * b -(4 * a * c) == 0){
System.out.print("有一个根!!!");
}
else {
System.out.print("该方程无解!!!");
}
}
/*
请输入a的值:2
请输入b的值:6
请输入c的值:5
该方程无解!!!
*/
9.
private static void test9() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = sc.nextInt();
Scanner sc1 = new Scanner(System.in);
System.out.print("请输入b的值:");
int b = sc1.nextInt();
Scanner sc2 = new Scanner(System.in);
System.out.print("请输入c的值:");
int c = sc2.nextInt();
Scanner sc3 = new Scanner(System.in);
System.out.print("请输入d的值:");
int d = sc3.nextInt();
Scanner sc4 = new Scanner(System.in);
System.out.print("请输入e的值:");
int e = sc4.nextInt();
Scanner sc5 = new Scanner(System.in);
System.out.print("请输入f的值:");
int f = sc5.nextInt();
int x = (e * d - b *f) / (a * d - b * c);
int y = (a * f - e * c) / (a * d / b * c);
if (a * d - b * c == 0){
System.out.println("此方程无解!!!");
}else {
System.out.println("x =" + x);
System.out.println("y =" + y);
}
}
/*
请输入a的值:1
请输入b的值:2
请输入c的值:3
请输入d的值:4
请输入e的值:5
请输入f的值:6
x =-4
y =-1
*/
10.(找到将来的日期)编写一个程序,提示用户输入代表今天日期的数字(周日为0,周一为1,……,周六为6)。同时,提示用户输人一个今天之后的天数,作为代表将来某天的数字,然后显示这天是星期几。
private static void test10() {
Scanner scanner=new Scanner(System.in);
System.out.print("今天是周几:");
int today=scanner.nextInt();
System.out.print("未来的几天:");
int future=scanner.nextInt();
int futureDay=(today+future)%7;
String todayStr="";
String futureDayStr="";
if(today==0){
todayStr="周日";
}else if(today==1){
todayStr="周一";
}else if(today==2){
todayStr="周二";
}else if(today==3){
todayStr="周三";
}else if(today==4){
todayStr="周四";
}else if(today==5){
todayStr="周五";
}else if(today==6){
todayStr="周六";
}
if(futureDay==0){
futureDayStr="周日";
}else if(futureDay==1){
futureDayStr="周一";
}else if(futureDay==2){
futureDayStr="周二";
}else if(futureDay==3){
futureDayStr="周三";
}else if(futureDay==4){
futureDayStr="周四";
}else if(futureDay==5){
futureDayStr="周五";
}else if(futureDay==6){
futureDayStr="周六";
}
System.out.println("今天是"+todayStr+","+future+"天后是"+futureDayStr);
}
/*
今天是周几:3
未来的几天:100
今天是周三,100天后是周五
*/