找出区间 [a,b] 中能被 7 整除或含有数字 7 的数的个数
来源:互联网 发布:首席数据官 美联储 编辑:程序博客网 时间:2024/05/12 03:44
找出区间 [a,b] 中能被 7 整除或含有数字 7 的数的个数?例如21、171等,输入a和b作为查找的区间啊[a,b],输出能被7整除或含有数字7的数的个数。如果对于C的初学者确实有点难度,但了解过一些整除转换为字符串的,在字符串查找某个字符的函数就容易了。不管怎样,先了解一下比较复杂的,也是我个人编写的,思路是这样的,先判断最高位是否含7,接着判断中间位是否含7,最后判断最低位是否含7和是否能被7整除(当然去除了最高位和中间为含7的),当查找到标记1。
#include <iostream>using namespace std;void main(){int a, b, i, count=0; //count记录7数int m,k,record; cin>>a>>b; //a,b作为区间[a,b]for(i=a; i<=b; i++){ k=i; m=i/10; record = 0; //record用来标记是否含7 while(k) //判断最高位是否为7 { if(k==7) { count++; k=0; record=1; //标记已判断 } k /= 10; } while(m && record!=1) //判断中间是否含7,中间的意思就是出去最高位和最低位 {if(m%10==7){count++;m=0; //找到了跳出循环record=1; //标记已判断}m /= 10; } if((i%7==0 ||i%10==7) && record !=1)//标记过1就不用再判断了 { count++; }}cout<<count<<endl;}功力不够写出这么复杂的代码,效率好低,后来我又发现别人的比我更好,学到了好多
先了解一下把整数转换为字符串的函数itoa和在字符串中查找某个字符的函数strchr
有了这两个函数就很容易了
#include <iostream>using namespace std;void main(){int i, count=0;int a, b;char str[12];cout<<"请输入两个整数作为区间(a<=b)"<<endl;cin>>a>>b;for(i=a; i<=b; i++){if((i%7==0)||(strchr(itoa(i,str,10),'7'))){count++;}}cout<<"能被 7 整除或含有数字 7 的数的个数为:"<<count<<endl;}
- 找出区间 [a,b] 中能被 7 整除或含有数字 7 的数的个数
- 给定你一个数n,找出在[a,b]这个区间中和n互质的数的个数。
- BZOJ 1799 self 同类分布(数位dp,区间各位数字和能整除原数的数字个数)
- 将1~m能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数
- 给出一个区间[a, b],计算区间内“神奇数”的个数。
- 最多约数问题。正整数 x 的约数是能整除x的正整数,其约数的个数记为div(x),例如div(10)=4。设 a 和 b 是两个正整数,找出 a 和 b 之间约数个数最多的数 x 的约数个数。 样例
- 最多约数问题。正整数 x 的约数是能整除x的正整数,其约数的个数记为div(x),例如div(10)=4。设 a 和 b 是两个正整数,找出 a 和 b 之间约数个数最多的数 x 的约数个数。
- 统计区间[a,b]各个数字出现的个数:poj 2282 The Counting Problem poj 3286
- 求区间[a,b]之间的大数据的回文数个数解题报告
- 求 区间[a,b]内满足p^k*q*^m(k>m)的数的个数
- 求能整除正整数a或b的正整数序列
- a,b间回文数字的个数
- poj 2356 Find a multiple 【抽屉原理应用】【在n个数组成的数列中找出若干个连续数使它们之和能被n整除】
- 找出A 和 B 不同的字节个数(算法)
- 1到n范围内能被5或6或8整除的数的个数
- 4和7为幸运数字,判断[a,b]之间所有由幸运数字组成的数字的个数
- 找出两个含有相同元素个数的递增数列中第n小的数
- 含有13,且能被13整除的个数
- qt学习4
- 理解linux 中的惊群现象
- Telerik常用网址
- Java中的Enum的使用与分析
- 10) 泛型工厂方法创建实例ClassRegister [原创,泛型编程,自由下载转载,需注明出处]
- 找出区间 [a,b] 中能被 7 整除或含有数字 7 的数的个数
- SQL语句的引用
- ubuntu安装 JDK
- c/c++中指针学习的两个绝好例子
- Linux操作系统以及各大发行版介绍——Linux operating system and major distribution is introduced
- SSIS_数据流转换(Union All&合并联接&合并)
- Oracle表的管理
- Shel中read的方法使用
- 802.11n 中HT20 HT40是什么意思