首页 > 试题广场 >

挑7

[编程题]挑7
  • 热度指数:138957 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输出 1到n之间 的与 7 有关数字的个数。
一个数与7有关是指这个数是 7 的倍数,或者是包含 7 的数字(如 17 ,27 ,37 ... 70 ,71 ,72 ,73...)

数据范围:

输入描述:

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



输出描述:

一个整数,表示1到n之间的与7有关的数字个数。

示例1

输入

20

输出

3

说明

输入20,1到20之间有关的数字包括7,14,17共3个。 
头像 fuxiaoxian
发表于 2021-09-21 10:36:07
挑7就两种 1 能整除, 则对7取余==0,2 不能整除,则转化成字符串,看里面是否包含7 import java.util.*; public class Main { public static void main(String[] args){ Scan 展开全文
头像 牛客155969019号
发表于 2021-10-17 00:26:39
while True: try: n = int(input()) c = 0 for i in range(1,n+1): if i % 7 == 0: c += 1 展开全文
头像 ypqhappy
发表于 2021-09-12 22:03:00
写一个判断函数核心就是取余、除以 #include<iostream> using namespace std; bool ifSev(int num) { while(num > 0) { if (num % 10 == 7) { 展开全文
头像 牛客554861027号
发表于 2021-09-29 10:12:25
#include <stdio.h> int main(void) { int n; while(scanf("%d",&n)!=EOF) { int i,m,b; int cnt=0; 展开全文
头像 读书不觉已春深
发表于 2020-08-18 08:44:34
while True: try: num = int(input()) count = 0 for x in range(num): if ('7' in str(x+1)) or ((x+1) %7==0): 展开全文
头像 枫火蓮天
发表于 2021-04-05 16:22:41
解题思路:穷举每个数字,依次判断每一位是否包含7,若包含则计数加一,同时跳过剩余数位的检测,进入下一数字的判断。 import java.util.Scanner; public class Main{     pu 展开全文
头像 大模型练习生
发表于 2020-08-06 14:27:14
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while 展开全文
头像 糖糖糖糖糖糖糖
发表于 2021-09-23 21:07:40
while(word = readline()) { word = parseInt(word, 10); let arr = []; for(var i=1;i<=word;i++) { ((i+'').includes('7') || !(i%7)) &am 展开全文
头像 joker2255
发表于 2022-01-03 10:39:40
一、这道题很容易理解,题中所说的和7有关的数字有两种情况,一种是7的倍数,如(14,21,42)。另一种含有7的数字,如(7,17,27,71)。第一种情况很好解决 i%7==0 就可以解决,第二种情况我的原始想法是从个位开始检查,一直检查到万位,用的是if else,但是这个不是万能的逻辑,因为如 展开全文
头像 牛客669158664号
发表于 2021-08-01 15:33:45
#include<stdio.h> int main() {     int N;     while(scanf("%d",&N)!=EOF)     {       展开全文