7-4 逢7击掌(不使用for循环)

文章描述了一个数学与编程结合的问题,即在报数游戏中,遇到7的倍数或个位为7时需击掌。作者通过分析找到了计算总击掌次数的规律,并用C语言编写了代码来解决超时问题。最终解决方案考虑了7的倍数、个位为7以及两者重叠的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7-4 逢7击掌

分数 15

全屏浏览题目

切换布局

作者 李祥

单位 湖北经济学院

一群人围坐成一圈玩报数的游戏。游戏规则是:

从1开始报数,若遇到7的倍数或者个位为7的数则击掌代替,若犯错则要受罚。

可是这些人都太聪明了,竟然没人犯错!请问同样聪明的你,当报数到 n 时,总击掌次数 c 是多少?

输入格式

n

输出格式

c

输入样例

21

输出样例

4

 这道题我一开始想到这么简单,肯定一个for循环就搞定,但是却给我显示超时了,所以最后得出以下运算规律

#include <stdio.h>
int main()
{
    int n,cnt=0;
    scanf("%d",&n);
    cnt=n/7;  //7的倍数有几个
    cnt+=(n-7)/10+1;//个位是7
    cnt-=(n-7)/70+1;//减去个位是7倍数是7的重复的值
    printf("%d",cnt);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值