【程序41】题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
public class Prog41{
public
static void main(String[] args){
int
n=fun(0);
System.out.println(“原来有”+n+“个桃子”);
}
public
static int fun(int i) {
if(i==5)
{
return
1;
}else
{
return
fun(i+1)*5+1;
}
}
}
【程序42】题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
public class Prog42{
public
static void main(String[] args){
int
n = 0;
boolean
flag = false;
for(int
i=10;i<100;i++) {
if(809i==800i+9i+1&&8i<100&&9*i>99){
flag
= true;
n
= i;
break;
}
}
if(flag)
System.out.println(n);
else
System.out.println(“无符合要求的数!”);
}
}
【程序43】题目:求0—7所能组成的奇数个数。
public class Prog43{
public static void main(String[] args)
{
int
i = 7;
System.out.println(“0—”• i + “所能组成的奇数个数:”);
count(i);
}
public
static int count(int num) {
if
(num == 0)
return
0;
if
(num == 1)
return
1;
int
sum = 0;
int
temp = 0;
if
(num % 2 == 0)
temp
= num / 2;
else
temp
= num / 2 + 1;
sum
+= temp;
System.out.println(“1位数” + sum + “个,算法:偶数除以2;奇数除以2加1”);
for
(int i = 0; i < num; i++) {
int
temp1 = temp;
int
temp2 = num - 1;
boolean
boo = true;
StringBuffer
sb = new StringBuffer();
for
(int j = 0; j < i + 1; j++) {
sb.append(temp2).append("*");
temp1
= temp2 * temp1;
if
(boo) {
boo
= false;
continue;
}
temp2–;
}
sum
+= temp1;
System.out.println((i• “位数” + temp1
• “个,算法:”
• sb + temp);
}
System.out.println(“总数 " + sum + " 个”);
return
sum;
}
}
【程序44】题目:一个偶数总能表示为两个素数之和。
import java.util.Scanner;
public class Prog44{
public
static void main(String[] args){
Scanner
sc=new Scanner(System.in);
System.out.println(“输入一个偶数:”);
int
n=sc.nextInt();
for(int
i=2;i<n/2+1;i++) {
if(isPrime(i)&&isPrime(n-i))
{
System.out.println(n+"="+i+"+"+(n-i));
}
}
}
public
static boolean isPrime(int n) {
boolean
flag=true;
for(int
i=2;i<Math.sqrt(n)+1;i++) {
if(n%i==0)
{
flag=false;
}
}
return
flag;
}
}
【程序45】题目:判断一个素数能被几个9整除
import java.util.Scanner;
public class Prog45{
public
static void main(String[] args){
Scanner
sc=new Scanner(System.in);
System.out.println(“输入一个数:”);
int
n=sc.nextInt();
int
count=0;
int
x=n;
while(x>8)
{
if(x%9==0)
count++;
x/=9;
}
System.out.println(n+“能被”+count+“个9整除”);
}
}
【程序46】 题目:两个字符串连接程序
public class Prog46{
public
static void main(String[] args){
Scanner
sc=new Scanner(System.in);
System.out.println(“输入两个字符串:”);
String
s1=sc.nextLine();
String
s2=sc.nextLine();
System.out.println(s1+s2);
}}
【程序47】读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
import java.util.Scanner;
public class Prog47{
public
static void main(String[] args){
System.out.println(“7个整数(1-50):”);
Random
random=new Random();
for(int
i=0;i<7;i++) {
int
m=random.nextInt(50);
System.out.println(m);
for(int
j=0;j<m;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
【程序48】题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
public class Prog48{
public static void main(String[] args){
Scanner
sc=new Scanner(System.in) ;
System.out.println(“请输入一个四位数:”);
int
n=sc.nextInt();
int
[] a=new int[4];
for(int
i=a.length-1;i>=0;i–) {
a[i]=n%10;
n=n/10;
}
for(int
i=0;i<a.length;i++) {
a[i]+=5;
a[i]%=10;
}
int
t1=a[0];
a[0]=a[3];
a[3]=t1;
int
t2=a[1];
a[1]=a[2];
a[2]=t2;
for(int
i=0;i<a.length;i++) {
System.out.print(a[i]);
}
}
}
【程序49】题目:计算字符串中子串出现的次数
public class Prog49{
public
static void main(String[] args) {
Scanner
sc = new Scanner(System.in);
System.out.println(“请输入一个字符串:”);
String
str = sc.nextLine();
System.out.println(“请输入一个子串:”);
String
s = sc.nextLine();
int
index = 0; // 遍历字符串
int
count = 0; // 统计次数
for
(index = 0; index < str.length() + 1 - s.length(); index++) {
if
(str.substring(index, s.length() + index).equals(s)) {
count++;
}
}
System.out.println(“子串重复出现了” + count + “次”);
}
}
【程序50】题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
import
java.io.*;
public class
Prog50{
//定义学生模型
String[] number = new String[5];
String[] name = new String[5];
float[][] grade = new float[5][3];
float[] sum = new float[5];
public static void main(String[] args)
throws Exception{
Prog50 stud = new Prog50();
stud.input();
stud.output();
}
//输入学号、姓名、成绩
void input() throws IOException{
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in));
//录入状态标识
boolean isRecord = true;
while(isRecord){
try{
for(int i=0;i<5;i++){
System.out.print(“请输入学号:”);
number[i] = br.readLine();
System.out.print(“请输入姓名:”);
name[i] = br.readLine();
for(int j=0;j<3;j++){
System.out.print(“请输入第”+(j+1)+“门课成绩:”);
grade[i][j] = Integer.parseInt(br.readLine());
}
System.out.println();
sum[i] = grade[i][0]+grade[i][1]+grade[i][2];
}
isRecord = false;
}catch(NumberFormatException e){
System.out.println(“请输入一个数字!”);
}
}
}
//输出文件
void output() throws IOException{
FileWriter fw = new
FileWriter(“E://java50//stud.txt”);
BufferedWriter bw = new
BufferedWriter(fw);
bw.write("No. "+"Name "+"grade1 "+"grade2 "+"grade3 “+“average”);
bw.newLine();
for(int i=0;i<5;i++){
bw.write(number[i]);
bw.write(” “+name[i]);
for(int j=0;j<3;j++)
bw.write(”
“+grade[i][j]);
bw.write(”
"+(sum[i]/5));
bw.newLine();
}
bw.close();
}
}