如果数字是3的倍数或其中有数字3,则定义为3Den.给定数字num作为输入,计算1到num之间的3Den的数量

  • 本文关键字:数字 num 3Den 之间 计算 定义 如果 java
  • 更新时间 :
  • 英文 :

public int count(int num){
        //write your code here
        int i;
        int counter=0;
        for(i=2;i<=num;i++){
        if((i%3==0)||(i%10==3)||(i/10==3||(i/100==3)))
        counter++;
        }
        return counter;
    }

样本输入#1

count(15)

样本输出#1

6 (3,6,9,12,13,15)

样本输入#2

count(40)

样本输出#2

21 (3,6,9,12,13,15,18,21,23,24,27,30,31,32,33,34,35,36,37,38,39)

我的代码在100输入内通过了所有测试用例,但在100输入后失败了。该怎么办?

if((i%3==0) || (i%10==3) || (i/10==3) || (i/100==3) ))

如果条件不好。例如,数字:134是数字3Den,但在Your if语句中不会返回true

提示:您需要(例如(创建while循环并使用指数,如:((i / (10^a)) % 10)==3

方法2:(不太整洁(将int i更改为String,然后使用String.contains()String.indexOf()

public class NextMultiple37 {
    public static void main(String[] args) {
        NextMultiple37 obj = new NextMultiple37();
        int result = obj.findNextMultiple(1024);
        System.out.println(result);
    }
    public int findNextMultiple (int num) {
        //write your code here
        int i=0;
        for(i=num+1;i>=num;i++){
            if(i%3==0&&i%7==0){
                return i;
            }
        }
        return i;
    }   
}

相关内容

最新更新