1D:数位五五

链接:https://ac.nowcoder.com/acm/contest/19859/D
来源:牛客网

题目描述

求出[a,b]区间内有多少个数数位之和为5的倍数

输入描述:

输入一行包含两个整数a,b (1<= a<= b<=1000000)

输出描述:

输出一个整数
示例1

输入

10 20

输出

2

说明

14和19的数位和为5和10,符合条件   

 

分析:主要在于怎样判断所有数位之和为5的倍数这一函数的实现。

初试
 #include<bits/stdc++.h>

using namespace std;


bool test_five(int num){
    stack<int> s;
    int temp=num;
    while(temp){
        s.push(temp%10);
        temp=temp/10;
    }

    temp=0;
    while(!s.empty()){
        temp+=s.top();
        s.pop();
    }
    if(temp%5==0)
        return true;
    else
        return false;
}



int fun(int lo,int hi){
    int count=0;
    for(int i=lo;i<=hi;i++){
        if(test_five(i))
            count++;

    }
    return count;
}


int main(){

    int a,b,ans;
    cin>>a>>b;
    ans=fun(a,b);
    cout<<ans<<endl;

    return 0;
}

 

posted @ 2023-01-16 10:57  uutiych  阅读(143)  评论(0)    收藏  举报