您的位置:首页 > 其它

华为OJ平台题目:(练习用)挑7

2015-09-14 11:25 330 查看
描述

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

知识点循环
运行时间限制0M
内存限制0
输入一个正整数N。(N不大于30000)

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

样例输入20
样例输出3
#include <iostream>

using namespace std;

int main()
{
	int N = 0, i = 0;
	int count = 0, temp = 0;
	bool flag = false;

	while(cin >> N)
	{
		count = 0;
		for(i = 7; i <= N; i++)
		{
			/* 判断该数据有没有包含7 */
			temp = i;
			flag = false;
			if(temp % 7 == 0)
			{
				flag = true;
			}
			/* 如果temp不是7的倍数,再判断有没有哪一位有7 */
			if(flag == false)
			{
				while(temp)
				{
					if(temp%10 == 7)
					{
						flag = true;
						break;
					}
					temp = temp / 10;
				}
			}
			
			if(flag == true)
			{
				count++;
			}
		}
		cout << count << endl;
	}
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: