码迷,mamicode.com
首页 > 其他好文 > 详细

华为训练题目:初级——(练习用)挑7

时间:2015-08-11 11:31:02      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

初级
3162人提交 1468人正确 分值:100分
00 小时 00 分钟 05 秒
描述

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

知识点 循环
运行时间限制 0M
内存限制 0
输入

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

输出

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

样例输入 20
样例输出 3

 

这题用的方法比较一般,就是循环遍历,可能还有简单的方法,暂时没想到

下面是AC代码:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 bool haveseven(int num)
 5 {
 6     int k;
 7     while(1)
 8     {
 9         k=num%10;
10         if(k==7)
11             return true;
12         num/=10;
13         if(num==0)
14             return false;
15     }
16 }
17 
18 int main()
19 {
20     int N;
21     cin>>N;
22     int i=7;
23     int re=0;
24     while(i<=N)
25     {
26         if(i%7==0)
27             re++;
28         else
29             if(haveseven(i))
30                 re++;
31         i++;
32     }
33     cout<<re<<endl;
34 
35     system("pause");
36 }

 

华为训练题目:初级——(练习用)挑7

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4720162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!