题解 | 华为HJ55-m#挑7#
挑7
https://www.nowcoder.com/practice/ba241b85371c409ea01ac0aa1a8d957b
描述
输出 1到n之间 的与 7 有关数字的个数。
一个数与7有关是指这个数是 7 的倍数,或者是包含 7 的数字(如 17 ,27 ,37 ... 70 ,71 ,72 ,73...)
数据范围: 1≤n≤30000
输入描述:
一个正整数 n 。( n 不大于 30000 )
输出描述:
一个整数,表示1到n之间的与7有关的数字个数。
示例1
输入:
20
输出:
3
说明:
输入20,1到20之间有关的数字包括7,14,17共3个。
#include <stdio.h>
//以下是Senky的代码:
int in_7(int n){//判断是否有7
int flag=0;//有7的标志,有就为1
while(n){
if(7==n%10) {
flag =1;
break;//含7直接break
}else{
n=n/10;
}
}
return flag;
}
void start(){
int n;
int count=0;//符合的数的个数
scanf("%d",&n);
for(int i=1; i<=n; i++){
if((0==i%7)||(in_7(i))) count++;
}
printf("%d",count);
}
int main() {
start();
return 0;//编辑于2022、10/14
}
总结:
①练手题,对不起TA中等难度的评级;
②当前帖子仅供自我精进、学习使用,有不足之处欢迎指正;
华为-HJ 文章被收录于专栏
机试的题解
查看5道真题和解析
安克创新 Anker公司福利 716人发布