列表

详情


NC22808. 一道非常简单的签到题

描述

小西和小理的第一场比赛,决定先从简单的开始。
于是他们拜托菊苣朱帮他们出一道简单的签到题,但是菊苣朱可没有时间帮他们验证答案,于是这个任务就落到了参加校赛的米娜桑的身上。
菊苣朱给出的题是,让他们找出在区间[x,y]中有多少个可以被n整除的数。
小西和小理已经开始算了,你赶紧写出正确答案吧~~~
(友情提示,long long 的数据范围为 -9223372036854775808~9223372036854775807

输入描述

输入占一行,包括三个整数x,y,n。(x<=y<=1e18,n<=100)

输出描述

输出一个整数,表示区间[x,y]中有多少个被n整除的整数。

示例1

输入:

3 6 3

输出:

2

示例2

输入:

1 7 2

输出:

3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 376K, 提交时间: 2020-05-06 17:49:11

#include <stdio.h>
int main()
{
    int n;
    long long x,y,k;
    scanf("%lld%lld%d",&x,&y,&n);
    k=y/n-x/n;
    if(x%n==0)
        k++;
    printf("%lld",k);
}

C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 504K, 提交时间: 2020-03-17 14:36:45

#include<stdio.h>
int main()
{
	long x,y,n,sum=0;
	scanf("%ld%ld%ld",&x,&y,&n);
	sum=y/n-x/n;
	if(x%n==0)
	sum++;
	printf("%ld",sum);
	return 0;
}

Python3 解法, 执行用时: 44ms, 内存消耗: 4544K, 提交时间: 2022-04-04 17:18:17

x, y, n = map(int, input().split())
a = y // n
if n >= x:
    print(a)
else:
    b = x //n
    print(a-b)

上一题