问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java编程!急急急!

发布网友 发布时间:2022-05-19 07:29

我来回答

6个回答

热心网友 时间:2023-10-08 22:00

class Test02{
public static void main(String[] args){
for(int i =1;i<=100;i++){/*循环100盏灯*/
int temp = 0;/*记录灯被拉的次数*/
for(int j=1;j<=i;j++){/*只有小于次灯编号的人,才有机会拉*/
if(i%j==0){/*判断此灯是否是此人的倍数*/
temp++;/*增加拉灯次数*/
}
}
System.out.println( i + "号灯: "+(temp%2==0?"灭":"亮"));
}
}
}

热心网友 时间:2023-10-08 22:00

这个题很经典,在一本算法书上看过。
楼上的人全错了。 他们的算法效率基本上都是O(n),还有O(n^2)的,如果是100w盏灯呢?累吐血了吧。
正解: 最后亮的灯是完全平方数。
解释: 任何一个数,如果能被整除,都是一对的,例如 12 ,能被 3,4整除,所以3,4各拨一次,所以12这盏灯的状态还是灭的,再比如 11, 能被1和11整除,所以11也是灭的,
完全平方数就不一样了。 例如 4, 虽然1和4各拨一次,但是 2*2 =4, 2拨一次就没有另一数拨了。 所以4最后是亮的。
程序只是个参考:

public static void main(String[] args) {
int i,j;
i=1;
j=0;
while(j<100){
j = i*i;
i++;
System.out.println(j);
}
}

热心网友 时间:2023-10-08 22:01

程序已经跑过,并且经过验证。
以下有程序的详细注释,
运行结果为:
第1灯是亮
第4灯是亮
第9灯是亮
第16灯是亮
第25灯是亮
第36灯是亮
第49灯是亮
第64灯是亮
第81灯是亮
第100灯是亮

程序代码如下:有疑问发信息。
public class Test_1 {
private static boolean[] lamp = new boolean[100];

public static void main(String[] args) {

for (int i = 1; i <= 100; i++) { //总共一百人
for (int j = 1; j <= 100; j++) {//设置可能拉灯的次数最多为100次
if (i * j <= 100) { //如果他的倍数小于100执行拉灯操作
if (lamp[i * j - 1] == false) {//如果灯暗,那么拉等后为亮
lamp[i * j - 1] = true;

} else { //如果灯亮,那么拉等后为暗
lamp[i * j - 1] = false;
}

}
}

}

for (int k = 0; k <= 99; k++) {//输出所有灯为亮的编号
if (lamp[k] == true) {
System.out.println("第" + (k + 1) + "灯是亮");
}
}

}

}

热心网友 时间:2023-10-08 22:01

oatn - 经理 你解的太精妙了!!佩服!!!!!!!!

热心网友 时间:2023-10-08 22:02

晕,现在那些老师都*SB出这种白痴题目有意义吗?我都晕了,看题目就晕了

热心网友 时间:2023-10-08 22:03

import java.util.*;
class Ower
{
public void Ower()
{
int[] arr=new int[100];// 定义100个灯被拉 的次数
int i=0;
int j=1;
String str[2]={"灭","亮"};//灯的状态
Array.fill(arr,0);
for(i=0;i<100;i++)
{
for(j=1;j<101;j++)
{
int s=j*(i+1);//人的编号的倍数
if(s>100) // 如果大于100 循环打断
break;
arr[s]+=1;
}
}
for(i=0;i<100;i++)
{
int a=arr[i]%2; //判断各个灯被拉的次数的奇偶,奇为亮,偶为灭。
System.out.println(i+1+str[a]);
}
}
public void main(String[] args)
{
new Ower();
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
windows8怎么本地连接 windows8如何设置网络 诸葛亮故里诸葛亮故里纪念馆 临沂诸葛亮文化旅游节历届介绍 第四届诸葛亮文化旅游节纪念诞辰 ...请根据该表回答下面问题: (1)表中A、B、C分 ...请你分析样品A、B、C中代表血浆、原尿和尿液的样品分别是... c糖蛋白化验 江诗丹顿金属手表(江诗丹顿的手表女款) 定位最好的手表? 表带上的圈叫什么 《JAVA趣味编程100例》,PDF文件,不是光盘,谁有啊 长方体和正方体怎么算体积(求公式) 《Java实用程序设计100例》最新txt全集下载 为什么有的快手能看见别人看了你的主页能插件快手名字为什么有的就看不见 吃鸡 有什么办法可以快速联系压*技术 老是打不中 怎么操作的 一开镜就能瞄准敌人方位 边走边扫射的 迈阿密海滩声景 林肯公园 beach!英语翻译现代文 迈阿密风景如何? 迈阿密海滩的介绍 迈阿密在哪个国家?有什么好玩的地方可以推荐下么? 手机内存太多怎么清理?360老是显示75%清理后也在70%左右,怎么弄啊? 突然不能用了,重新注册了,但是以前的信息什么都没有了,这个是怎么回事? 什么符号,在车里的 为什么在车里感觉车很大,在车外看车很小? 深紫色液体加入无色液体变成蓝色 9.88万起,特别适合呆在车里的车就这几款,照着买错不了! 紫色加什么颜料是蓝色 紫色+什么=蓝色? 六味地黄丸用法和用量是多少? 用盐洗脸有什么作用 用java编一个程序,求100以内所有能被3整除或被7整除的数,并把结果写入f盘根目 高分跪求Java趣味编程100例 原书PDF 单身公主相亲记剧情介绍分集 java编程,输出100以内的史密斯数,高分 信用卡丢了可以取钱吗? 单身公主相亲记每集开头的说的内容是什么 用java编写一个程序 要求输出100以内的偶数 EVDO路由器技术参数及著名厂家推荐? 单身公主相亲记单身公主相亲记中纪凡和彤彤跳恰恰舞是哪几集? 就是我的信用卡的卡号数字掉了。但是银行卡还在。不知道能不能在取款机里面取出钱来? 林志颖在《单身公主相亲记》中饰演谁? JAVA程序设计求1-100的阶乘和 寻找一款能进行远端数据传输的工业级无线路由器,客户推荐的有wcdma路由器,还有EVDO路由器?哪一个好? 用java 实现100个数字卷白菜代码 招商银行信用卡丢了能不能取现 你好,我信用卡丢了,除了本身额度还有多余的钱怎么取出 哪家公司的4GWIFI路由器FDD的兼容EVDO呢? 外省信用卡丢失了,在本地,帐号密码,身份证都有,能取钱吗? 民生信用卡丢了可以无卡取款吗? 大龄剩女相亲记,大龄剩女真的嫁不出去了吗