Description
正整数x 的约数是能整除x 的正整数。正整数x 的约数个数记为div(x)。例如,1,2,
5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a 和b
之间约数个数最多的数x。
Input
输入2 个正整数a≤b,编程计算a 和b 之间约数个数最多的数。
Output
程序运行结束时,找到a 和b 之间约数个数最多的数是x,将div(x)输出
Sample Input
1 36
Sample Output
9
Source
#include <stdio.h> #include <stdlib.h> int getDivisor(int iNum) { int i = 1; int sum = 0; if (0 == iNum) { return 1; } while (i <= iNum / 2) { if (0 == iNum % i) { sum++; } i++; } return (sum+1); } void main() { int a,b; int i = 0; int maxdiv = 0; int tmp = 0; scanf("%d%d",&a,&b); for (i = a; i <= b; i++) { if (maxdiv < getDivisor(i)) { maxdiv = getDivisor(i); tmp = i; } } printf("%d\n",maxdiv); }