作者:不详 来源:互联网  酷勤网收集 2008-04-24

摘要
  问555555的约数中最大的三位数是多少?根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。

问555555的约数中最大的三位数是多少?

*问题分析与算法设计
根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。
*程序说明与注释
#include<stdio.h>
int main()
{
long i;
int j;
printf("Please input number:");
scanf("%ld",&i);
for(j=999;j>=100;j--)
if(i%j==0)
{
printf("The max factor with 3 digits in %ld is:%d,\n",i,j);
break;
}
}

*运行结果
输入:555555
输出:The max factor with 3 digits in 555555 is:777

分类: 题库中心 C/C++语言程序百例 算法艺术

上一篇:4.歌星大奖赛   下一篇:6.高次方数的尾数