1729: 整数
时间限制: 1 Sec 内存限制: 128 MB
提交: 208 解决: 70
[提交][状态][讨论版]
题目描述
给定a和b,求区间[a,b]中能被9和21整除的整数个数.
输入
两个空格分开的整数a和b,1 <= a <= b <= 231-1
输出
输出一行,即区间[a,b]中能被9和21整除的整数个数,见样例.
样例输入
1 63
样例输出
1
提示
来源
时间限制: 1 Sec 内存限制: 128 MB
提交: 208 解决: 70
[提交][状态][讨论版]
题目描述
给定a和b,求区间[a,b]中能被9和21整除的整数个数.
输入
两个空格分开的整数a和b,1 <= a <= b <= 231-1
输出
输出一行,即区间[a,b]中能被9和21整除的整数个数,见样例.
样例输入
1 63
样例输出
1
提示
来源
CYH
这题玩了一个小花样,能被9和21整除也就是能被63整除,出题人这里是想让我们偏离解题思路,不过我们会渐渐知觉……
事实上,暴力循环无疑会TLE,我们从能被63整除下手,
……63k……63n……就是这样的,注意分情况,贴个代码
#include<stdio.h>
int main()
{
long int a,b;
int k,l;
scanf("%ld %ld",&a,&b);
k=a/63;l=b/63;
if(k==l)
printf("1\n");
else
{ if(!(a%63)&&b%63||!(a%63)&&!(b%63))
printf("%d\n",l-k+1);
else
printf("%d\n",l-k);
}
}