列表

详情


BC151. 数位五五

描述

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

输入描述

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

输出描述

输出一个整数

示例1

输入:

10 20

输出:

2

说明:

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

原站题解

C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-03-12

#include<stdio.h>
int is_num(int num)
{
    int sum = 0;
    while(num)
    {
        sum +=num%10;
        num /= 10;
    }
    return sum;
}
int main()
{
    int a = 0;
    int b = 0;
    scanf("%d%d",&a,&b);
    int count = 0;
    int i = 0;
    for(i = a;i <= b;i++)
    {
        if(is_num(i) % 5 == 0)
        {
            count++;
        }
    }
    printf("%d",count);
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-04-23

#include<stdio.h>
int main()
{
	int n1,n2 = 0;
	scanf("%d %d", &n1, &n2);
	int i = 0;
	int sum = 0;
	int count = 0;
	for (i = n1; i <= n2; i++)
	{
		sum = 0;
		int k = i;
		while (k)
		{
			sum += k % 10;
			k /= 10;
		}
		if (sum % 5 == 0)
		{
			count++;
		}
	}
	printf("%d\n", count);
	return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-03-14

#include<stdio.h>
int main(){
    int a, b, i, cnt = 0;
    scanf("%d %d", &a, &b);
    for(i = a; i <= b; i++)
    {
        int num = i, j = 0, sum = 0;//一定要把i暂存再操作
        while(num > 0)
        {
          j = num % 10;
          sum = sum + j;
          num = num / 10;
        }
        if(sum % 5 == 0)
            cnt++;
    }
    printf("%d\n", cnt);
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-07-19

#include<stdio.h>

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

C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-04-29

#include<stdio.h>
int fun(int a,int b)
{
    int s=0,sum=0,k=0,count=0;
   for(int i=a;i<=b;i++)
   {
       sum=0;
       s=i;
       while(s)
       {
           k=s%10;
           sum+=k;
           s/=10;
       }
       if(sum%5==0)
       {
           count++;
       }
   }
    return count;
    
}
int main()
{
    int a=0,b=0,count=0;
    scanf("%d %d",&a,&b);
    count=fun(a,b);
    printf("%d",count);
    return 0;
}

上一题