0
已解决
储金洋
新手光能
新手光能
生活在venus上的人使用阿拉伯数字来进行计数,但是没有7这个数字,所以venus数字8其实表示的是自然数中的7,18表示的是自然数中的16。下面计算一下,在正整数n范围以内包含有多少个venus数字。
输入描述 Input Description
第一行为正整数k(k<10000),接下来k行,每行一个正整数n(n≤100000)。
输出描述 Output Description
对于每个正整数n,输出n以内的venus数的个数。
样例输入 Sample Input
2
10
20
样例输出 Sample Output
9
18
请大犇给我解题思路
1
已采纳
栾峻岩
初级天翼
初级天翼
首先(这是必做的)
循环(超级大循环)
里面输入每一组的数据。
要定义一个函数,专门拆数,bool型。
bool sfs(int x)//是否是7
{
while (x)
{
if (x%10==7)
return true;//直接返回,不啰嗦。
}
return false;//都不是,就是里面没有7。
}
从1到n循环(在超级大循环里面,是在输入后)
定义一个num,每次循环(超级大循环之内,小循环之外),都赋值为0.
如果sfs(i),则这个数里面有7,则num++。
最后,输出n-num,还有,换行!!!!!
100AC哦!
不对,再找我!
0
0
0
0
0
0