首页 > 其他 > 详细

理工之整除个数

时间:2015-07-23 09:19:19      阅读:236      评论:0      收藏:0      [点我收藏+]

描述1、2、3… …n这n(0<n<=1000000000)个数中有多少个数可以被正整数b整除。

输入
输入包含多组数据
每组数据占一行,每行给出两个正整数n、b。
输出
输出每组数据相应的结果。
样例输入
2 1
5 3
10 4
样例输出
2
1
2

此题如果按从第一个数开始试除b,然后除尽一个定义的变量加一的话提交就会显示超时。那有没有简单的算法呢?当然,如果换一种思路,用最后一个数去除b的话恰好所得的商就是所要求得的个数,这样就会节省更多的时间。是不是很神奇呢?不过你要想想这是为什么呢?


 1 #include <stdio.h>
 2 
 3 int main ()
 4 {
 5     unsigned a ,n;
 6     while ( scanf ("%u%u",&n, &a)! = EOF)
 7     {
 8         ( a==1 ? printf("%u\n",n) : printf ( "%u\n", n/a );
 9     }
10     return 0;
11 }

 

理工之整除个数

原文:http://www.cnblogs.com/nynu-ycg6/p/4669356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!