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

初级

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 }
时间: 2024-08-30 02:23:39

华为训练题目:初级——(练习用)挑7的相关文章

华为训练题目:初级——字符串最后一个单词的长度

初级 字符串最后一个单词的长度 描述 计算字符串最后一个单词的长度,单词以空格隔开. 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128. 输出 整数N,最后一个单词的长度. 样例输入 hello world 样例输出 5 思路:这道题字符串可能中间有空格,可能后面最后有空格. 先将下标从后往前指到最后一个不是空字符的方,再开始计数 1 #include<iostream> 2 #include<string> 3 using namespac

华为训练题目:初级——名字漂亮度(未通过,显示格式错误)

给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和.每个字母都有一个“漂亮度”,范围在1到26之间.没有任何两个字母拥有相同的“漂亮度”.字母忽略大小写.给出多个名字,计算每个名字最大可能的“漂亮度”. http://career-oj.huawei.com/exam/ShowProblemInfo?method=campusProblemInfo&id=228 这道题目一直显示格式错误: 下面是提交的代码: 1 #include<iostream

华为训练题目:初级——合唱队

述 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,   则他们的身高满足存在i(1<=i<=K)使得Ti<T2<......<Ti-1<Ti>Ti+1>......>TK.      你的任务是,已知所有N位同学的身高,计算最少需要几位同学出

华为训练题目:初级——图片整理(排序,字典)

Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好.请大家给Lily帮忙,通过C语言解决. 知识点 字符串 运行时间限制 0M 内存限制 0 输入 Lily使用的图片包括"A"到"Z"."a"到"z"."0"到"9".输入字母或数字个数不超过1024. 输出 Lily的所有图片按照从小到大的顺序输出 样例输入 Ihave1

华为OJ题目

题目描述: 新入职华为的小伙伴们都有在oj上面刷题的任务,共需要刷100道初级题,45道中级题,5道高级题,其中,做出来的高级题如果超标可以当初级或者中级题,做出来的中级题如果超标可以当初级题.每天,出题的大哥会给大家出Xi道题,这Xi道题属于同一个难度级别,小伙伴们要么用一天时间把这些题全做出来,要么就不做.现在,给你每天出题大哥出的题数以及难度,请问,小伙伴们最少要挑选其中几天去做题,才能把这150道题的任务完成呢? 输入示例: 5 100 70 5 5 55 1 2 2 2 3 输出: 2

OJ——华为编程题目:输入字符串括号是否匹配

package t0815; /* * 华为编程题目:输入字符串括号是否匹配 * 若都匹配输出为0,否则为1 * 样例输入:Terminal user [name | number (1)] * 样例输出:0 * Java版本 */ /* * 个人总结: * (1)语法上Java的输入Scanner使用 * (2)char[] arr=mxf.toCharArray()的使用,将输入的字符串转成字符数组:这样就可以一个 * 一个的遍历 * (3)算法上,这里使用了经典的入栈和出栈的思想 * */

华为训练题:初级——合并字符串

按照指定规则对输入的字符串进行处理. 详细描述: 将输入的两个字符串合并. 对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序.这里的下标意思是字符在字符串中的位置. 对排训后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符.如字符为‘4’,为0100b,则翻转后为0010b,也就是2.转换后的字符为‘2’: 如字符为‘7’,为0111b,则翻转后为11

华为训练题:初级——合并表记录(字典,简单题)

数据表记录包含表索引和数值.请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值求和 先输入键值对的个数然后输入成对的index和value值,以换行符隔开 输出合并后的键值对(多行) 4 0 1 0 2 1 2 3 4 0 3 1 2 3 4 思路: 用一个map字典来做,每次输入一对时count下,发现不等于1时加入,发现等于1时在它上面++value 1 #include<iostream> 2 #include<map> 3 using namespace std;

华为训练题:初级——输入一行字符,分别统计(简单题)

下面是AC代码 1 #include<iostream> 2 #include<string> 3 #include<vector> 4 using namespace std; 5 6 7 vector<int> jishu(string& str) 8 { 9 int len=str.size(); 10 vector<int> vec; 11 int re1=0,re2=0,re3=0,re4=0; 12 for(int i=0;i