1.哥德巴赫猜想:任何一个大于2的偶数都是两个素数之和。例如:4=2+2,10=7+3.。。
import java.io.*;
public class my {
public static void main(String args[])
{
String s="";
int num;
int a=2;
int b;
System.out.println("输入任意大于2的偶数: ");
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
s=in.readLine();
}
catch(IOException e){}
num=Integer.parseInt(s);
for(;a<num;a++){
if(iszhishu(a)){
b=num-a;
if(iszhishu(b)) {
System.out.println(num+"="+a+"+"+b);
// break;//可能有多个输出结果
}
}
}
}
public static boolean iszhishu(int i){
for(int j=2;j<i;j++){
if(i%j==0) return false;
}
return true;
}
}
2.产生随机的20个两位数,将它们显示出来,并按照从小到大的顺序排列,显示排序结果。
import java.io.*;
public class my {
public static void main(String args[])
{
int[] m=new int[20];
for(int i=0;i<20;i++){
m[i]=(int)(Math.random()*89)+10;//随机数产生的公式
}
for(int i=0;i<20;i++)
System.out.print(m[i]+" ");
System.out.print("\n");
int[] n=new int[100];//采用计数排序,开销了100个存储单元,有点多
for(int j=0;j<100;j++)
n[j]=0;
for(int j=0;j<20;j++)
n[m[j]]++;
for(int j=10,i=0;j<=99&&(i<20);j++){
while(n[j]!=0){
m[i]=j;
i++;
n[j]--;
}
}
for(int i=0;i<20;i++)
System.out.print(m[i]+" ");
System.out.println();
}
}
3.幼儿园有二十个小朋友,坐成一个圈,玩数学游戏。进行编号从1到20,从第一个小朋友开始报数,报到5时,这个小朋友退出圈外且不再参加报数。别的小朋友继续,直到所有小朋友都退出。
import java.io.*;
public class my {
public static void main(String args[])
{
int[] m=new int[21];//有n个小朋友就把数组声明为n+1
for(int i=1;i<21;i++)
m[i]=1;
for(int i=1,j=0;i<=21;){
if(j<5&&(m[i]==1)){
j++;
if(j==5){//每个5即推出一个,可能是别的数字,这里也可以设置
m[i]=0;
j=0;
System.out.print(i+" ");
}
i++;
}
else if(j<5&&(m[i]==0))i++;
if(i==21&&(check(m))) i=1;
}
}
public static boolean check(int[] m){
for(int i=1;i<21;i++)
{
if(m[i]==1)return true;
}
return false;
}
}