java黑洞与兔子数代码 数字黑洞123c语言编程

java实现数字黑洞,5位数落入一个循环圈。5位数里面所有循环圈如何实现?

用Java实现的打印5位数里面所有循环圈的程序如下:

成都创新互联专注于苏尼特左网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供苏尼特左营销型网站建设,苏尼特左网站制作、苏尼特左网页设计、苏尼特左网站官网定制、小程序定制开发服务,打造苏尼特左网络公司原创品牌,更为您提供苏尼特左网站排名全网营销落地服务。

public class XunHuanQuan {

/**

* @param args 数字黑洞

*/

static int r=0;

static int b[]=new int[16];

static int c[]=new int[5];

static int sort(int n,boolean boo) //排序函数

{

int i,j,sum=0,temp;

int a[]=new int[5];

for(i=0;i5;i++)

{

a[i]=n%10;

n/=10;

}

for(j=0;j4;j++)

for(i=0;i4-j;i++)

{

if(a[i]a[i+1]boo)

{

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

}

if(a[i]a[i+1]!boo)

{

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

}

}

for(i=0;i5;i++)

sum+=a[i]*(int)Math.pow(10,4-i);

return sum;

}

static boolean Boo(int d[])//判断函数

{

int n,t,q,i,j;

boolean flag=true;

for(i=0;i16;i++)

for(j=i+1;j16;j++)

if(b[i]==b[j])//判断是否有循环圈存在,只需要判断是否有相同的一个数出现2次就够了

{

d[0]=i;

d[1]=j;

n=j-i;

for(q=0;q=r;q++)

for(t=i;t=j;t++)

if(c[q]==b[t]) flag=false;//用一维数组存放循环圈的一位数(任意一位都可以,这里选取第一位)

if(flag) c[r++]=b[i];//如果新生成的循环圈中的任何一位与原一维数组存放的值的不同 则再取循环圈的一位保存

return flag;

}

return flag;

}

public static void main(String[] args)

{

int n,m,w,t,p;

int r=1;

boolean flag=false;

int d[]=new int[2];

for(m=10000;m100000;m++)

{

n=m;

for(p=0;p16;p++)

{

w=sort(n,true)-sort(n,false);

b[p]=w;

n=w;

}

if(Boo(d))//输出不同的循环圈

{

System.out.printf("[");

for(t=d[0];td[1]-1;t++)

System.out.printf("%d,",b[t]);

System.out.printf("%d",b[t]);

System.out.printf("]\n");

}

}

}

}

运行结果:

[74943,62964,71973,83952]

[63954,61974,82962,75933]

[53955,59994]

Java代码编程 经典的兔子问题?

这是斐波那契数列的问题

可以用递归,也可以用循环

递归:

public class Demo3 {

// 使用递归方法

private static int getFibo(int i) {

if (i == 1 || i == 2)

return 1;

else

return getFibo(i - 1) + getFibo(i - 2);

}

public static void main(String[] args) {

System.out.println("斐波那契数列的前20项为:");

for (int j = 1; j = 20; j++) {

System.out.print(getFibo(j) + "\t");

if (j % 5 == 0)

System.out.println();

}

}

}

循环:

public class Demo2 {

// 定义数组方法

public static void main(String[] args) {

int arr[] = new int[20];

arr[0] = arr[1] = 1;

for (int i = 2; i arr.length; i++) {

arr[i] = arr[i - 1] + arr[i - 2];

}

System.out.println("斐波那契数列的前20项如下所示:");

for (int i = 0; i arr.length; i++) {

if (i % 5 == 0)

System.out.println();

System.out.print(arr[i] + "\t");

}

}

}

用JAVA代码写出,棚内有鸡和免,用户输入头和脚步的数量,输出鸡和兔的数量 求救

import java.util.Scanner;

public class Test {

public static void main(String[] args){

while(true){

Scanner scanner = new Scanner(System.in);

System.out.println("请分别输入头的数量和脚的数量,用空格分开:");

System.out.println("输入其它内容结束程序运行");

int heads,feet;

try{

heads = scanner.nextInt();

feet = scanner.nextInt();

}catch(Exception e){

break;

}

caculate(heads,feet);

}

}

public static void caculate(int head, int foot){

if((foot(int)1) != 0){

System.out.println("请输入偶数只脚");

return;

}

if(foot 0){

System.out.println("脚数应为非负整数");

return;

}

if(head 0){

System.out.println("头数应为非负整数");

return;

}

if(2*head foot){

System.out.println("头的数量太多");

return;

}

if(4*head foot){

System.out.println("脚的数量太多");

return;

}

int che = (4*head-foot)/2;

int rub = (foot - 2*head)/2;

System.out.println("棚内有" + che + "只鸡和" + rub + "只兔子");

}

}


当前名称:java黑洞与兔子数代码 数字黑洞123c语言编程
路径分享:http://hbruida.cn/article/dopjiij.html