时钟求“好时刻”

时钟

题目描述

你有一个电子钟,可以显示 0:00 到 23:59 之间的所有时间,以数字的形式显示。其中小时是 0 到 23(0 时会显示一个 0,而 1 到 9 时不会显示前导 0),分钟是 00 到 59(0 到 9 分都会显示前导 0)。任何时刻,电子钟都会显示三个或者四个 0 00 到 9 99 的数字。如果在某时刻,这些数字依次组成了一个等差数列,则这个时刻被称为“好时刻”。

你感觉很无聊,从 0:00 时刻开始盯着这个电子钟。一共盯了 x xx 分钟。请问整个过程中,"好时刻"来临了多少次(算上开头和结尾)?

输入格式

一个不超过10^9的非负整数。

输出格式

请输出"好时刻"来临了多少次?

输入样例1:

120

输出样例1
10

输入样例2:

2880

输出样例2
79

输入样例3:

在这里给出一组输入。例如:

987654321

输出样例3:

在这里给出相应的输出。例如:

26748975

 

#include<stdio.h>
int main(){
    int n;//输入的分钟
    int circle;//圈数  一圈39(从例二可以看出)
    int hour;//小时
    int minute;//分钟
    int count=0;//总次数
    int d1,d2,d3;
    scanf("%d\n",&n);
    circle=n/60/24;
    hour=(n-circle*24*60)/60;
    minute=n%60;

    for(int x_hour=0;x_hour<hour;x_hour++){
        for(int x_minute=0;x_minute<60;x_minute++){
            int h1=0,h2,m1,m2;
            if(x_hour<10){
                h2=x_hour;
            }
            if(x_hour>10){
                h1=x_hour/10;
                h2=x_hour%10;
            }
            if(x_minute<10){
                m1=0;
                m2=x_minute;
            }
            if(x_minute>10){
                m1=x_minute/10;
                m2=x_minute%10;
            }

            if(h1==0){
                //三位数
                d2=h2-m1;
                d3=m1-m2;
                if(d2==d3){
                    count++;
                }
            }else{
                //四位数
                d1=h1-h2;
                d2=h2-m1;
                d3=m1-m2;
                if(d1==d2 && d2==d3){
                    count++;
                }
            }
        }
    }

    //printf("%d\n",circle);
    
    //乘以圈数
    if(circle>0){
        count = circle * 39 + count + 1;
    }

    printf("%d\n",count);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值