首页 > 试题广场 >

数位五五

[编程题]数位五五
  • 热度指数:11392 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
求出a到b之间有多少个数数位之和为5的倍数

输入描述:
输入一行包含两个整数x,y ()


输出描述:
输出一个整数
示例1

输入

10 20

输出

2

说明

14和19的数位和为5和10,符合条件
#include <stdio.h>

int judge(int num){
    int sum, t = 0;
    while(num > 0){
        t = num % 10;
        num /= 10;
        sum += t;
    }
    return sum % 5 == 0? 1 : 0;
}
int main(){
    int l, r, count = 0;
    scanf("%d %d", &l, &r);
    for(int i = l; i <= r; i++)
        count += judge(i)? 1 : 0;
    printf("%d", count);
    return 0;
}

发表于 2022-06-15 14:32:14 回复(0)
#include<iostream>
using namespace std;

int main() {
    int a, b, num, res = 0, cnt = 0;
    cin >> a >> b;
    for (int i = a; i <= b; ++i) {
        num = i; res = 0;
        while (num) {
            res += num % 10;
            num /= 10;
        }
        if (res % 5 == 0) ++cnt;
    }
    cout << cnt;
    return 0;
}

发表于 2022-03-31 21:14:42 回复(0)
let arr = readline().split(' ');
let count = 0;
let s = '';
let a = parseInt(arr[0]);
let b = parseInt(arr[1]);
for(let i = a; i <= b; i++)  {
    let sum = 0;
    let arr1 = (i).toString().split('');
    for(let j = 0; j < arr1.length; j++) {
        sum += parseInt(arr1[j]);
    }
    if(sum % 5 == 0) {
        count++;
    }
}
console.log(count);

发表于 2022-03-14 10:48:11 回复(0)
#include <iostream>
using namespace std;
bool times(int x)
{
    int res = 0;
    while (x)
    {
        int e = x % 10;
        res += e;
        x /= 10;
    }
    if (res % 5 == 0) return true;
    return false;
}

int main()
{
    int a, b;
    cin >> a >> b;
    int cnt = 0;
    for(int i = a; i <= b; i ++ )
        if (times(i)) cnt ++;
    cout << cnt << endl;
}

发表于 2022-02-26 16:24:12 回复(0)
#include<stdio.h>
int main() {
    int a, b, count = 0, sum = 0;
    scanf("%d %d", &a, &b);
    for (int i = a; i <= b; i++) {
        int num = i;
        while (num) {
            sum += num % 10;
            num /= 10;
        }
        if (0 == sum % 5)
            count++;
        sum = 0;
    }
    printf("%d\n", count);
    return 0;
}

发表于 2022-08-11 09:36:44 回复(0)
#include <stdio.h>

int main() {
    int a, b, count = 0;
    scanf("%d %d", &a, &b);
    for (int i = a; i <= b; i++) {
        int val=i,sum = 0;
        while (val) {
            sum += val % 10;
            val /= 10;
        }
        if (sum % 5 == 0) {
            count++;
        }
    }
    printf("%d", count);
    return 0;
}

编辑于 2024-02-14 21:39:45 回复(0)
a,b= map(int,input().split())
c=0
for i in range(a,b+1):
    j = [int(x) for x in str(i)]
    if sum(j)%5 == 0:
        c +=1
print(c)

编辑于 2024-02-12 20:52:17 回复(0)
def f(a,b):
    count=0
    for i in range(a,b+1):
       t=str(i)
       sum=0
       for j in range(len(t)):
            sum+=int(t[j])
       if sum%5==0:
            count+=1
    return count

a,b=map(int,input().split())
print(f(a,b))


发表于 2025-12-03 18:23:53 回复(0)
#include <iostream>
using namespace std;
bool pd(int c){
    int sum=0;
    while(c){
        sum+=c%10;
        c/=10;
    }
    if(sum%5==0) return true;
    else return false;
}

int m(int a,int b){
    int cnt=0;
    for(int i=a;i<=b;i++){
        if(pd(i))cnt++;
    }
    return cnt;
}

int main() {
    int a;int b;
    cin>>a>>b;
    int result=m(a,b);
    cout<<result<<endl;
return 0;
}

发表于 2025-11-08 17:55:44 回复(0)
#include <stdio.h>

void five(int x, int y)
{
    int i, cnt = 0;
    for (i=x; i<=y; i++)
    {
    	int tmp = i, sum = 0;
        while(tmp)
        {
            sum = sum + tmp%10;
			tmp = tmp / 10;
        }
        if (sum%5 == 0)
			cnt ++;
    }
    printf("%d", cnt);
}

int main() 
{
    int a, b;
    scanf("%d %d", &a,&b);
    five(a, b);
    return 0;
}

发表于 2025-09-09 14:32:56 回复(0)
#include <stdio.h>

int main() {
    int a, b;
    scanf("%d %d",&a,&b);
    int y=0,i=a,j=b;
    for(int g=a;g<=b;g++){
        int k=0,f=0,o,e=g;
        for(int d=0;d<=6;d++){
            f=e%10;
            k+=f;
            e/=10;

        }
        if(k%5==0){
            y++;
        }
    }
    printf("%d",y);
    return 0;
}
发表于 2025-08-15 22:27:32 回复(0)
int swap(int n)
{
    int sum = 0;
    sum = n / 10 + n % 10;
    return sum;
}//求和
int main()
{
    int a, b;
    printf("请输入两个整数");
    scanf_s("%d %d",&a,&b);
    for (int i = a;i <= b;i++)
    {
        
        if (swap(i) % 5 == 0)//注意==
            printf(" %d", i);
    }
    return 0;
}

发表于 2024-11-21 20:41:09 回复(0)
#include <stdio.h>

int main() {
    int a, b,he=0,n=0,ci=0;

    //获取区间
    scanf("%d %d",&a,&b);

    //检测区间内所有数位相加为5的倍数的个数
    for (int x=a; x<=b; x++) {
        n=x;
        he=0;
        for (int y=0; y<7; y++) {
            he+=n%10;
            n/=10;
        }
        if (he%5==0) {
            ci++;
        }
    }
    printf("%d",ci);
    return 0;
}

发表于 2024-10-28 20:16:12 回复(0)
#include <stdio.h>
int function(int x,int y);
int function(int x,int y)
{ 
    int num,count=0;
  for(num=x;num<=y;num++)
  {
    int n=num,a,sum=0;
    while(n>0)
    {
      a=n%10;
      sum+=a;
      n/=10;
    }
    if(sum%5==0)
    {
        count++;
    }
  }
  return count;
}
int main() {
    int a,b,c=0;
    scanf("%d %d",&a,&b);
    c=function(a,b);
    printf("%d",c);
    return 0;
}

发表于 2024-09-29 13:06:53 回复(0)
from functools import reduce
a,b = map(int,input().split())
counts = 0
for i in range(a,b+1):
    sums = reduce(lambda y,x: int(x)+int(y),list(str(i)))
    if sums%5 == 0:
        counts+=1
print(counts)


发表于 2024-09-27 14:21:23 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(), b = in.nextInt();
        int ret = multiple_5(a, b);
        System.out.println(ret);
    }

    public static int multiple_5(int a, int b) {
        int sum = 0;
        int count = 0;
        for (int i = a; i <= b; i++) {
            int tmp = i;
            while (tmp > 0) {
                sum += tmp % 10;
                tmp /= 10;
            }
            if (sum % 5 == 0) {
                count++;
            }
            sum = 0;
        }
        return count;
    }
}

发表于 2024-09-24 20:16:51 回复(0)
#include <stdio.h>
int isnum(int i)
{
    int n,s=0;
    while (i) 
    {
        n=i%10;
        s=s+n;
        i=i/10;
    }
    return  s;
}
int main() 
{
    int a,b,count=0;
    scanf("%d %d",&a,&b);
    for(int i=a;i<=b;i++)
    {
        if(isnum(i)%5==0)
        {
            count++;
        }
    }
    printf("%d",count);
    return 0;
}

发表于 2024-08-10 18:04:52 回复(0)
#include<stdio.h>
int add(int a,int b)
{
    int count=0;
   
    for(int i=a;i<=b;i++)
    {
        int sum=0;
       int c=i;
       while(c)
       {
         sum=c%10+sum;
         c=c/10;
       }
       if(sum%5==0)
       count++;
    }
    return count;
}

int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d",add(a,b));
}
发表于 2024-07-31 19:40:50 回复(0)
#include <stdio.h>
int zong(int a){
    int g;
    int sum=0;
    while(a>0){
        g=a%10;
        sum+=g;
        a=a/10;
    }
    return sum;
}

int main() {
    int a,b;
    int count=0;
    scanf("%d %d",&a,&b);
    for(int i=a;i<=b;i++){
        if(zong(i)%5==0){
            count++;
        }
    }
    printf("%d",count);
    return 0;
}
发表于 2024-07-19 21:50:50 回复(0)
#include <stdbool.h>
#include <stdio.h>

bool Fun(int n)
{
    int sum = 0;
    while (n) {
        sum += (n % 10);
        n /= 10;
    }
    return sum % 5 == 0;    
    //当余数为0时返回true
    //当余数不为零返回false
}


int main() {
    int a, b;
    int count = 0; //记录位数之和为5的倍数,有多少个
    scanf("%d %d", &a, &b);

    for(int i = a; i <= b; i++)
    {
        //判断是否位数之和为5的倍数
        if(Fun(i))
            count++;
    }
    printf("%d",count);

    return 0;
}

发表于 2024-06-23 17:27:13 回复(0)