6、Antiprime数

6、Antiprime数
如果一个自然数n,满足所有小于n的自然数的约数个数都小于n的约数个数,则n是一个Antiprime数。譬如:1, 2, 4, 6, 12, 24。
输入:N   
输出:一行。
例:输入:1000
    输出:840

program Antiprime;
function divisors(nn : longint) : integer;
var   ii, jj, kk : integer;
begin
        jj := 0;
        kk := trunc(sqrt(nn));
        for ii := 2 to kk do
                if nn mod ii = 0 then
                        jj := jj+1;
        if kk * kk = nn then
                divisors := 2 * jj + 1
        else
                divisors := 2 * (jj + 1);
end;

var   i, n, num, tmp, tmp_num : longint;
begin
        readln(n);
        tmp := 1;
        tmp_num := 1;
        for i := 1 to n do
        begin
        num := divisors(i);
        if (num > tmp_num) then
                begin
                tmp_num := num;
            tmp := i;
        end;
    end;
    writeln(tmp, ' -- ', tmp_num);
        readln;
end.
posted @ 2010-02-25 16:05  SmartIOI  阅读(169)  评论(0)    收藏  举报
本站采用CC授权如需转载、引用文章,请务必附上作者及来源处。 Creative Commons License