本帖最后由 jinzeyu 于 2012-3-3 21:11 编辑
这道题很简单 要求用批处理实现
加分:一个技术分
问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; | | } | | }COPY |
*运行结果
输入:555555
输出:The max factor with 3 digits in 555555 is:777 |