「java求灯」Java求余数

博主:adminadmin 2023-01-10 17:39:09 1084

本篇文章给大家谈谈java求灯,以及Java求余数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java一个关于light类【灯】的编程

建议用eclipse工具,这样的一个类,用工具很快就生成了。

public

class

light

{

private

int

watts;

private

boolean

indicator;

/**

*

@param

watts

*

:创建具有watts瓦的对象

*/

public

light(int

watts)

{

this.watts

=

watts;

}

/**

*

@param

watts

*

:创建具有watts瓦的对象

*

*

@param

indicator

*

:创建具有watts瓦,开关状态

为indicator的对象

*/

public

light(int

watts,

boolean

indicator)

{

super();

this.watts

=

watts;

this.indicator

=

indicator;

}

/**

*

开灯,即灯的状态置为开

*/

public

void

swithoh()

{

this.indicator

=

true;

}

/**

*

关灯

*/

public

void

printlnoff()

{

this.indicator

=

false;

}

/**

*

输出灯的瓦数信息和开灯的状态·

*/

public

void

printlnfo()

{

system.out.println("灯的瓦数是:"

+

this.watts

+

"\n开关状态是:"

+

this.indicator);

}

}

java程序问题?2015盏灯

答案不知道有没有问题,结果是44。对的话请采纳。

package com;

public class Test {

public static void main(String[] args) {

int[] arr = new int[2015];

int num = getNum(arr);

System.out.println(num);

}

public static int getNum(int[] arr) {

for (int l = 0; l arr.length; l++) {//不管多少栈灯,第一次都是打开,取1为开

arr[l] = arr[l] + 1;

}

int i = 1;

while (i arr.length) {

i++;

/*j就从1开始了,也就是第二栈灯开始依次对2取余

* 下一次循环,从第二栈灯依次对3取余

*取余为0并且取反的就是要做开关操作的灯

*/

for (int j = 1; j arr.length; j++) {

if ((j + 1) % i == 0) {

arr[j] = -arr[j];

}

}

}

int count = 0;

for (int value : arr) {//结果为1的就是打开

if (value == 1)

count++;

}

return count;

}

}

如何用java实现1到100号灯的开关问题

假设前提:初始状态是灭的,有两种算法,一种常规算法,一种智能算法,打印结果:

1

4

9

16

25

36

49

64

81

100

---------------------------------------------------

public class Test {

/**

* @param 两种方法打印100盏灯的状态

*/

public static void main(String[] args) {

//printStatus(100);

printStatusX(100);

}

/**

* 打印所有最终亮灯的编号 常规算法

*

* @param cout 灯的数量

*/

static void printStatus(int count) {

if (count 1) {

throw new IllegalArgumentException("illegal argument!");

}

for (int i = 1; i = count; i++) {

// 如果是第一盏灯,那么它应该是亮的

if (i == 1) {

System.out.println("1");

continue;

}

// 如果不是第一盏灯,那么它肯定至少被按过两次,所以假定是灭的(false)

boolean status = false;

// 除去至少按过的两次,对于编号对于2到编号减1的整数,如果能够整除,就改变一次灯的状态

for (int j = 2; j i; j++) {

if (i % j == 0) {

status = !status;

}

}

// 如果灯是亮的,打印其编号

if (status) {

System.out.println(i);

}

}

}

/**

* 打印所有最终亮灯的编号 智能算法

* 如果被按的次数是奇数,那么灯就是亮着的,第i盏灯被按的奇偶是:如果i==1,被按1次,

* 如果i1,i可以整除的数是:1,x2,x3,x4...xc,xb,xa,i,因此可以得到下列等式:

* 1*i=i,x2*xa=i,x3*xb=i,x4*xc=i,都是成对的,只有存在两个因数相同的情况下,

* i可以整除的数才是奇数,因此,当i是整数平方数时,它是亮着的.

*

* @param cout 灯的数量

*/

static void printStatusX(int cout) {

if (cout 1) {

throw new IllegalArgumentException("illegal argument!");

}

for(int i=1;i=cout;i++){

double d = Math.sqrt(i);

if((int)d == d){

System.out.println(i);

}

}

}

}

java解决 开关灯问题

按照题目要求编写的开关灯问题的Java程序如下

        import java.util.Scanner;

public class AA {

 public static void main(String[] args) {

  System.out.print("请输入正整数N和M,以单个空格隔开:");

  Scanner sc=new Scanner(System.in);

  int N=sc.nextInt();

  int M=sc.nextInt();

  if(N5000||MN){

   System.out.println("输入错误!");

   return;

  }

  int i,j;

  boolean a[]=new boolean[N+1];

  String s="";

  for(i=1;i=N;i++){

   a[i]=true;

  }

  for(i=1;i=N;i++){

   for(j=1;j=M;j++){

    if(i%j==0){

     if(a[i]==true)

      a[i]=false;

     else

      a[i]=true;

    }

   }

  }

  for(i=1;i=N;i++){

   if(a[i]==false)

    s=s+i+",";

  }

         System.out.println(s.substring(0,s.length()-1));

 }

}

java求灯的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java求余数、java求灯的信息别忘了在本站进行查找喔。