您的位置:首页 > 其它

华为OJ——(练习用)挑7

2017-07-26 19:20 169 查看
题目描述

  输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37…70,71,72,73…)的个数

输入描述:

一个正整数N。(N不大于30000)

输出描述:

不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.

示例1

输入

  20

输出

  3

实现代码:

方法一:

package cn.c_shuang.demo52;

import java.util.Scanner;
/**
* (练习用)挑7
* @author Cshuang
*  */
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int n=in.nextInt();
int cnt=0;
for (int i = 7; i <=n;i++) {
if(i%7==0){
cnt++;
}else if(String.valueOf(i).contains("7")){
cnt++;
}
}
System.out.println(cnt);
}
in.close();
}
}


方法二:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc  = new Scanner(System.in);
while(sc.hasNext()){
int N = sc.nextInt();
int cur = 0;
for(int i = 1;i <= N;i++){
if(i % 7 == 0){
cur++;
continue;
}
int j = i;
//找出含有7的部分
while(j != 0){
int temp = j % 10;
if(temp == 7){
cur++;
break;
}
j = j / 10;
}
}
System.out.println(cur);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  华为 查找