C/C++编程学习 - 第13周 ⑩ 结果填空:倍数

题目链接

题目描述

一天蒜头君在想,[l,r] 之间有多少个数字是 d 的倍数呢?

但是区间 [l,r] 是 d 的倍数的数字太多,于是聪明的蒜头君便找到了你。

当 l=1032,r=12302135942453,d=234,d 的倍数有多少个呢?

Sample Input

Sample Output

思路

输出区间内,234的倍数的个数。这个区间太大了,如果直接写for循环,恐怕要运行好几秒,我们可以直接用公式计算,当然也可以另写一个程序计算出结果,直接输出结果。

C++代码1:(公式计算)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
    long long l = 1032, r = 12302135942453, d = 234;
    cout << r / d - (l - 1) / d << endl;
    return 0;
}

C++代码2:(直接输出结果)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
	cout << "52573230519" << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44826711/article/details/113135060