【程序41】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? public class lianxi41 {
public static void main (String[] args) { int i,m,j=0,k,count; for(i=4;i<10000;i+=4) { count=0; m=i;
for(k=0;k<5;k++) {
j=i/4*5+1; i=j;
if(j%4==0) count++; else break; } i=m; if(count==4)
{System.out.println(\原有桃子 \个\break;} } } }
【程序42】
题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
//题目错了!809x=800x+9x+1 这样的方程无解。去掉那个1就有解了。 public class lianxi42 {
public static void main (String[] args) { int a=809,b,i; for(i=10;i<13;i++) {b=i*a ;
if(8*i<100&&9*i>=100)
System.out.println (\} }
【程序43】
题目:求0—7所能组成的奇数个数。 //组成1位数是4个。 //组成2位数是7*4个。 //组成3位数是7*8*4个。
26
//组成4位数是7*8*8*4个。 //......
public class lianxi43 {
public static void main (String[] args) { int sum=4; int j;
System.out.println(\组成1位数是 \个\sum=sum*7;
System.out.println(\组成2位数是 \个\for(j=3;j<=9;j++){ sum=sum*8;
System.out.println(\组成\位数是 \个\} } }
【程序44】
题目:一个偶数总能表示为两个素数之和。
//由于用除sqrt(n)的方法求出的素数不包括2和3, //因此在判断是否是素数程序中人为添加了一个3。 import java.util.*; public class lianxi44 {
public static void main(String[] args) { Scanner s = new Scanner(System.in); int n,i; do{
System.out.print(\请输入一个大于等于6的偶数:\ n = s.nextInt();
} while(n<6||n%2!=0); //判断输入是否是>=6偶数,不是,重新输入 fun fc = new fun();
for(i=2;i<=n/2;i++){
if((fc.fun(i))==1&&(fc.fun(n-i)==1)) {int j=n-i;
System.out.println(n+\ } //输出所有可能的素数对 } } }
class fun{
public int fun (int a) //判断是否是素数的函数 {
int i,flag=0;
if(a==3){flag=1;return(flag);} for(i=2;i<=Math.sqrt(a);i++){ if(a%i==0) {flag=0;break;}
27
else flag=1;}
return (flag) ;//不是素数,返回0,是素数,返回1 } }
//解法二
import java.util.*; public class lianxi44 {
public static void main(String[] args) { Scanner s = new Scanner(System.in); int n; do{
System.out.print(\请输入一个大于等于6的偶数:\ n = s.nextInt();
} while(n<6||n%2!=0); //判断输入是否是>=6偶数,不是,重新输入 for(int i=3;i<=n/2;i+=2){ if(fun(i)&&fun(n-i)) {
System.out.println(n+\ } //输出所有可能的素数对 } }
static boolean fun (int a){ //判断是否是素数的函数 boolean flag=false;
if(a==3){flag=true;return(flag);} for(int i=2;i<=Math.sqrt(a);i++){ if(a%i==0) {flag=false;break;} else flag=true;} return (flag) ; } }
【程序45】
题目:判断一个素数能被几个9整除
//题目错了吧?能被9整除的就不是素数了!所以改成整数了。 import java.util.*;
public class lianxi45 {
public static void main (String[] args) { Scanner s = new Scanner(System.in); System.out.print(\请输入一个整数:\ int num = s.nextInt(); int tmp = num; int count = 0;
for(int i = 0 ; tmp%9 == 0 ;){ tmp = tmp/9; count ++;
28
}
System.out.println(num+\能够被 \个9整除。\ } }
【程序46】
题目:两个字符串连接程序 import java.util.*; public class lianxi46 {
public static void main(String[] args) { Scanner s = new Scanner(System.in);
System.out.print(\请输入一个字符串:\ String str1 = s.nextLine();
System.out.print(\请再输入一个字符串:\ String str2 = s.nextLine(); String str = str1+str2;
System.out.println(\连接后的字符串是:\ } }
【程序47】
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 import java.util.*; public class lianxi47 {
public static void main(String[] args) { Scanner s = new Scanner(System.in); int n=1,num; while(n<=7){ do{
System.out.print(\请输入一个1--50之间的整数:\ num= s.nextInt(); }while(num<1||num>50); for(int i=1;i<=num;i++) {System.out.print(\ }
System.out.println(); n ++; } } }
【程序48】
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 import java.util.*;
public class lianxi48 {
29
public static void main(String args[]) { Scanner s = new Scanner(System.in); int num=0,temp; do{
System.out.print(\请输入一个4位正整数:\ num = s.nextInt();
}while (num<1000||num>9999); int a[]=new int[4];
a[0] = num/1000; //取千位的数字 a[1] = (num/100); //取百位的数字 a[2] = (num/10); //取十位的数字 a[3] = num; //取个位的数字 for(int j=0;j<4;j++) {
a[j]+=5; a[j]%=10; }
for(int j=0;j<=1;j++) {
temp = a[j]; a[j] = a[3-j]; a[3-j] =temp; }
System.out.print(\加密后的数字为:\for(int j=0;j<4;j++) System.out.print(a[j]); } }
【程序49】
题目:计算字符串中子串出现的次数 import java.util.*;
public class lianxi49 {
public static void main(String args[]){ Scanner s = new Scanner(System.in);
System.out.print(\请输入字符串:\ String str1 = s.nextLine();
System.out.print(\请输入子串:\ String str2 = s.nextLine(); int count=0;
if(str1.equals(\ {
System.out.println(\你没有输入字符串或子串,无法比较!\ System.exit(0); }
30