题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如
兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
package com.dcs1;
import sun.font.FontRunIterator;
public class Exercises1 {
/**
* 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
* 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
* 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
*/
//上个月兔子的数量
private static long n=1;
//这个月兔子的数量
private static long m;
//兔子总的数量
private static long a;
//设定一对兔子
public static void main(String[] args) {
for (int i = 3; i <50 ; i++) {
a = n + m;
n = m;
m= a;
System.out.println("第" + i +"个月的兔子对数: "+a);
}
}
}
package com.dcs1;
/**
* 题目:判断101-200之间有多少个素数,并输出所有素数。
* 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
* 则表明此数不是素数,反之是素数。
*/
public class Exercises2 {
//定义一个a,为素数的个数
private static int a = 0;
public static void main(String[] args) {
//使用for循环i的数字来进行比对
for (int i = 101; i <=200; i++) {
//定义一个boolean,来判断是否为素数
boolean bool = true;
for (int j = 2; j < i; j++) {
//通过取模来确定i是否有除1以为的质数
if (i % j == 0) {
bool = false;
break;
}
}
if (!bool) {
System.out.print(i+", ");
a = a + 1;
}
}
System.out.println();
System.out.println(" 素数个数: " + a);
}
}
package com.dcs1;
public class Exercises3 {
/**
* 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
* 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
* 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*/
public static void main(String[] args) {
//利用for循环控制100-999个数,每个数分解出个位,十位,百位
for (int i = 100; i <1000 ; i++) {
//提取个位
int g =i%10;
//提取十位
int s =i/10%10;
//提取百位
int b =i/100%10;
//利用if对比提取的个十百位立方进行对比
if (g*g*g+s*s*s+b*b*b==i){
System.out.println("水仙花数"+i);
}
}
}
}
package com.dcs1;
import java.sql.SQLOutput;
public class Exercises4 {
/**
* 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
* 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
* (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
* (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
* (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
*/
private static int n=100;
public static void main(String[] args) {
System.out.print(n+"=");
for (int k = 2; k <n ; k++) {
while (true){
if (n%k==0){
System.out.print(k+"*");
n=n/k;
}else{
break;
}
}
}
System.out.print(n);
}
}
题目:
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下
的用C表示。
1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
package com.dcs1;
public class Exercises5 {
public static void main(String[] args) {
int a=30;
char A='A';
char B='B';
char C='C';
char x=(a>=90?A: a>=60?B:C);
System.out.println(x);
}
}