Jamie and Alarm Snooze(起床时间,延迟闹铃)

本文介绍了一个有趣的时间计算问题:如何找到距离指定唤醒时间最近且包含数字7的“幸运”时间。通过设定闹钟并使用特定间隔的延迟提醒,文章提供了一种解决方法,并附上了实现这一算法的C语言代码。

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

欢迎访问https://blog.youkuaiyun.com/lxt_Lucia~~

宇宙第一小仙女\(^o^)/~~萌量爆表求带飞=≡Σ((( つ^o^)つ~dalao们点个关注呗~~


emmm都喊我铁头,哼!!!而我的床呢偏偏就是磁铁打的........but每天还是要起床.....比如更博,therefore....没事多来瞅瞅给我增点访客量咯~这个叫Jamie的小盆友还真是像我一样爱睡觉,这个闹铃延迟提醒当然也是很常见了,再来一分钟,一分钟之后就起.......嚯!还非得在带“7”的时候设闹钟。


不扯了不扯了,hint 一下咯~ 这题倒是不算难,但是很容易WA,特殊情况比较多,多试试特殊情况就差不多找到错了,比如23点之后没有24点,要变成0点,时分秒到60要进1。


Problem is coming ~~~~


Description

Jamie loves sleeping. One day, he decides that he needs to wake up at exactly hh: mm. However, he hates waking up, so he wants to make waking up less painful by setting the alarm at a lucky time. He will then press the snooze button every x minutes until hh: mm is reached, and only then he will wake up. He wants to know what is the smallest number of times he needs to press the snooze button.

A time is considered lucky if it contains a digit '7'. For example, 13: 07 and 17: 27 are lucky, while 00: 48 and 21: 34 are not lucky.

Note that it is not necessary that the time set for the alarm and the wake-up time are on the same day. It is guaranteed that there is a lucky time Jamie can set so that he can wake at hh: mm.

Formally, find the smallest possible non-negative integer y such that the time representation of the time x·y minutes before hh: mm contains the digit '7'.

Jamie uses 24-hours clock, so after 23: 59 comes 00: 00.

Input

The first line contains a single integer x (1 ≤ x ≤ 60).

The second line contains two two-digit integers, hh and mm (00 ≤ hh ≤ 23, 00 ≤ mm ≤ 59).

Output

Print the minimum number of times he needs to press the button.

Sample Input

Input
3
11 23
Output
2
Input
5
01 07
Output
0

Hint

In the first sample, Jamie needs to wake up at 11:23. So, he can set his alarm at 11:17. He would press the snooze button when the alarm rings at 11:17 and at 11:20.

In the second sample, Jamie can set his alarm at exactly at 01:07 which is lucky.


思路应该都有,就不发了,建议看代码之前还是自己先想想思路啦~


----------------------------------------------------------------我只是一条可爱的分界线---------------------------------------------------------------

#include<stdio.h>
int main()
{
    int k=0,x,h,m,i,j;
    scanf("%d",&x);
    scanf("%d%d",&h,&m);
    i=h;
    for(j=m;;j-=x){
        if(j<0){
            i--;
            j+=60;
        }
        if(i<0)
            i+=24;
        if(i%10==7||j%10==7){
            break;
        }
        k++;
    }
    printf("%d\n",k);
    return 0;
}


宇宙第一小仙女\(^o^)/~~萌量爆表求带飞=≡Σ((( つ^o^)つ~dalao们点个关注呗~~

欢迎访问https://blog.youkuaiyun.com/lxt_Lucia~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值