java问题,求教!!!!!!!

问题描述

java问题,求教!!!!!!!

题目描述

小明很喜欢3和5这两个数字,他将能被3或5整除的数叫做美丽数。现在给你一个整数N(1<=N<=100000),你能告诉小明第N个美丽数是多少吗?

输入格式

输入包含多组测试数据。每组输入一个整数N(1<=N<=100000)。

输出

对于每组输入,输出第N个美丽数。

样例输入

1
2
3
4

样例输出

3
5
6
9

import java.util.Scanner;
public class Main{
  public static void main(String[] args){
    Scanner input=new Scanner(System.in);
    while(input.hasNextInt()){
      int N=input.nextInt();
      int count=0;
      for(int num=3;count<100000;num++){
        if(num % 3==0 || num % 5==0){
          count++;
          if(count==N){
            System.out.println(num);
            break;}
        }
    }
}
}
}

为什么说我是时间超限了

解决方案

for(int num=3;count<100000;num++){

解决方案二:

 public static void main(String[] args) {
        Scanner input=new Scanner(System.in);

        ArrayList list = new ArrayList();
        while(input.hasNextInt()){
          int N=input.nextInt();
          list.add(N);
        }
        Integer[] array = (Integer[])list.toArray(new Integer[list.size()]);
        Arrays.sort(array);

        int maxNum = 0;//获取最大需要的数值
        maxNum = array[array.length-1]*3;//按3的倍数估算,最大需要该数值
        int num=0;
        int cnt =0;
        while(num<=maxNum&&cnt<array[array.length-1]){
            num++;//步长还是可以优化的。没必要每次都是+1
            if(num%3==0 || num%5==0){
                cnt++;
                if(list.contains(cnt)){
                    System.out.println(num);
                }
            }
        }
    }

解决方案三:

3 5 6 9 10 12 15 18 20 21 24 25 27 30
15为一个周期,每15就有7个美丽数。

解决方案四:

int count = 0;
for( int i = 0, i < 100, i++) {
if(i%5 == 0&& i%3 == 0){
count ++;
}
}
return count;

时间: 2024-07-30 06:15:04

java问题,求教!!!!!!!的相关文章

java初学者求教:关于线程安全问题

问题描述 java初学者求教:关于线程安全问题 List list = new ArrayList(); list = Collections.synchronizedList(list); 这时list是线程安全的,那么当我用增强for循环遍历list, 并且使用list的remove方法时,是不是就不安全了? 另外,如果list集合中存放的是一些带有图片的对象,比如dog public void paintTest(Graphisc g){ for(dog d:list){ g.drawIm

java类的问题-理解不能的java空指针异常求教

问题描述 理解不能的java空指针异常求教 一个用户时可以打印,多了就不行.求教. 解决方案 我依稀看到你是这样写的: User[] user = new User[10]; 实际上,在这句之后要加上: for (int i=0;i<10;i++) user[i] = new User(); 不然的话,user[i]都会是null,所以,你下面的user[j].username会直接报空指针. 这个是java中数组对象的性质 解决方案二: 图太小,看不清你的代码.检查下你是不是有对象为null

mongodb-MongoDB for java 查询求教

问题描述 MongoDB for java 查询求教 请救mongoDB大神啊,sql大神啊,现在碰到个蛮烦的sql不知道怎么转换啊.请教转换成java来实现的. select a.ZSXM_DM,a.ZSXMMC, SUM(CASE WHEN a.RKRQ >= '2015-01-01' and a.RKRQ<='2015-01-31' THEN SJJE ELSE 0.00 END) AS JE_1Y, SUM(CASE WHEN a.RKRQ >= '2015-02-01' and

java代码-求教java前辈的一个问题

问题描述 求教java前辈的一个问题 现有如下一张表,字段vacation_start_time假期开始时间和 vacation_end_time假期结束时间.现想新增一条数据,假期开始时间和假期结束时间与原来表中假期开始时间与假期结束时间中间有一段时间是工作的时间,该改怎么改这张表里的数据.希望前辈们给个思路或者这下这个流程 解决方案 如果假期中间加入工作时间,可以把假期拆分成2个子假期,表上增加一个parentvacationid子假期和主假期关联. 解决方案二: 关联一张字表就可以了 解决

刚接触JAVA,求教个关于java数组的问题。

问题描述 for(inti=0;i<8;i++){String[]s=newString[i];}在java中,数组不是不可以同名的,但是在这个循环里,可以运行,不是每循环一次都从新NEW一个同名数组出来,为什么允许这样子来的,还有,这样子来新产生的数组跟之前产生的数组到底是个什么样子的关系,是包含,还是覆盖?如果是覆盖,那之前产生的数组里的内容是不是就废了??? 解决方案 解决方案二:s是局部变量,其作用域就是从定义的地方开始到for结束.所以每次循环结束时,在这次循环中定义的s已经变成垃圾了

JAVA 加法 求教

问题描述 小弟初学有几多不明之处求解:此程序运行完之后应是带"框"的为何此程序没"框"另如何把此程序改成乘.除.减和小数运算在此多谢各位前辈学长importjava.applet.Applet;importjava.awt.Button;importjava.awt.Label;importjava.awt.TextField;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;p

java算法-java求教,算法竞赛入门经典 3.4 最长回文子串

问题描述 java求教,算法竞赛入门经典 3.4 最长回文子串 java新手求教,关键是怎么保存s[i]在buf中的位置,谢谢 解决方案 string longestPalindromeDP(string s) { int n = s.length(); int longestBegin = 0; int maxLen = 1; bool table[1000][1000] = {false}; for (int i = 0; i < n; i++) { table[i][i] = true;

io-[java初学]求教为什么这样写不能退出while循环

问题描述 [java初学]求教为什么这样写不能退出while循环 package io;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class SystemIndemo { public static void main(String[] args) throws Exception{ InputStream in = System.in; Inp

java-Java初学者求教,麻烦了

问题描述 Java初学者求教,麻烦了 package cn.xtgj.dao; import java.util.Iterator; import java.util.Scanner; import java.util.TreeSet; import cn.xtgj.model.Wares; public class Dao { Scanner sc=new Scanner(System.in); String option; TreeSet set=new TreeSet();//此集合用来装

java动画线程画图问题

问题描述 java动画线程画图问题 我用java实现了一个球在窗体上运动并且碰到四个边框会反弹,我想再增加一个球进行不一样的轨迹运动,请教各位大神如何实现?我按照自己的想法做了2个不同运动轨迹的球类,但是最后实现都只能看到最后一个被调用的球.java初学者求教! 解决方案 线程挂起的问题<Java>java中,多个线程同时调用同一个静态方法的问题JAVA线程互斥问题 解决方案二: http://www.docin.com/p-598357587.html 解决方案三: http://etwo.