随机生成1000个1~100之内的整数,统计出不重复的数值和 其重复的次数
Random rand = new Random();
int[] arr = new int[1000];
int[] unique = new int[100];
int[] count = new int[100];
int k = 0;
unique[k]=rand.nextInt(100)+1;
arr[0]=unique[k];
count[k++]=1;
for(int i=1,j;i<arr.length;i++) {
arr[i]=rand.nextInt(100)+1;
for ( j = 0; j <k; j++) {
if(unique[j]==arr[i]){
break;
}
}
if(j==k){
unique[k]=arr[i];
count[k++]=1;
}else{
count[j]++;
}
}
System.out.println(k+"个不重复元素");
for (int i = 0; i <k ; i++) {
System.out.println(unique[i]+" : "+count[i]);
}
一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第10次落地时,共经过了多少米,第10次反弹多高?
float h=100,sum=0,sum1=0;
for (int i = 1; i <10 ; i++) {
sum=h+h/2;
h=h/2;
sum1 +=sum;
if(i==9){
sum1 = sum1+h;
}
}
System.out.println("共经过"+sum1+"米"+"第十次反弹"+h/2+"米");
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 // 例如6=1+2+3.编程找出1000以内的所有完数。
for (int i = 1; i <=1000 ; i++) {
int sum=0;
for (int j = 1; j <i ; j++) {
if(i%j==0){
sum +=j;
}
}
if(sum==i)
System.out.print(i+" ");
}
用一维数组完成斐波那契数列前10项
int [] arr = new int[10];
arr[0]=0;
arr[1]=1;
for (int i = 2; i <arr.length; i++) {
arr[i]=arr[i-1]+arr[i-2];
}
for (int j = 0; j <arr.length ; j++) {
System.out.print(arr[j]+"\t");
}
随机生成30个1~1000的随机数,求最大值,最小值,平均值
Random rand = new Random();
int [] arr = new int[30];
arr[0]=rand.nextInt(1000)+1;
int max =arr[0],min=arr[0];
float sum=0;
for (int i = 1; i <arr.length ; i++) {
arr[i]=rand.nextInt(1000)+1;
System.out.print(arr[i]+" ");
sum +=arr[i];
if (max<arr[i]){max=arr[i];}
if (min>arr[i]){min=arr[i];}
}
System.out.print("最大值:"+max+"最小值:"+min+"平均值:"+sum/30);
自然数累加,和达到5000时自然数的值为?
int i,sum = 0;
for ( i = 0; sum<5000 ; i++){
sum +=i;
}
System.out.println(i-1);
System.out.print(sum);
10000以内的质数有哪些?
for (int i = 2,count=0; i <10000 ; i++) {
boolean isPrime = true;
for (int j = 2; j <i/2 ; j++) {
if(i%j==0){
isPrime = false;
break;
}
}
if (isPrime){
System.out.print(i+" ");
if (++count%14==0)
System.out.println();
}
}
10个元素的3\3组合,只看内容,不看顺序
char[] arr = {'a','3','c','d','5','6','c','g','9','x'};
char[] arr1 = new char[10];
for (int i = 0; i <arr.length-2 ; i++) {
for (int j = i+1; j <arr.length-1 ; j++) {
for (int k =j+1; k <arr.length ; k++) {
System.out.print(arr[i]+""+arr[j]+""+arr[k]+"\t");
}
}
}
冒泡
int [] arr={8,11,7,24,15,};
for (int i = 1,t; i <arr.length; i++) {
for (int j = 0; j <5-i ; j++) {
if (arr[j]>arr[j+1]){
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
for (int a :arr) {
System.out.print(a+" ");
}
选择
int [] arr={8,12,7,24,15,12,11,18,16,10,13,33,32};
int minIndex =0;
for (int i = 0,t; i <arr.length-1 ; i++) {
minIndex = i;
for (int j = i+1; j <arr.length ; j++)
if (arr[minIndex]>arr[j])
minIndex = j;
if (minIndex!=i){
t = arr[minIndex];
arr[minIndex]=arr[i];
arr[i] = t;
}
}
for (int i:arr) {
System.out.print(i+" ");
}
插入
int [] arr={8,11,7,24,15};
for (int i = 1; i <arr.length ; i++) {
int temp =arr[i];
int j = i-1;
for (; j >=0 ; j--) {
if (temp<arr[j]){
arr[j+1]=arr[j];
}else{
break;
}
}
if (arr[j+1]!=temp){
arr[j+1]=temp;
}
}
for (int i:arr
) {
System.out.print(i + " ");
}
编写程序,求2—999中的同构数(也叫自守数)及其个数。 (注:某数的平方,其低位与该数本身相同,则称该数为同构数 ,如252=625,25是同构数。)
int j,k=10;
for (int i = 2; i <=999 ; i++) {
if (i==k){
k *=10;
}
if (i*i%k==i){
System.out.print(i+" ");
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-32434.html