D语言版趣味程序:5.求最大数
(说明:原文见http://www.kuqin.com/tiku/c100/,是C语言版。本人改写成D-tango版。与各位D初学者共勉。)
问题
555555的约数中最大的三位数是多少?
问题分析与算法设计
根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。
因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题
只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。
import tango.io.Stdout,
tango.io.Console,
tango.util.Convert;
import tango.stdc.stdlib;
int main()
{
long i;
int j;
Stdout("求一个大数的约数中最大的三位数:\n请输入要计算的数(大于等于100):").newline;
i = to!(long)(Cin.get());//从控制台输入要求的数
for(j=999;j>=100;j--)
{
if(i%j==0)
{
Stdout.formatln("{}最大的三位数约数为:{}",i,j);
break;
}
}
system("pause");//程序执行后显示“按任意键继续”,以便观察
return 0;
}
本文介绍了一个使用D语言实现的程序,该程序能够找出一个大数的最大三位数约数。通过逆序遍历100到999之间的数字,并检查这些数字是否为给定大数的约数来实现。

被折叠的 条评论
为什么被折叠?



