beautiful Number
(zju2829)
麦克有两个美丽数字3和5,但他很贪心,他想让能被3或者5整除的正整数都是他的美丽数字,现要求输入n (1 <=n <= 100000),相应的输出第n个美丽数字。(要求处理至文件尾,即要用while not eof(input) )
Sample Input
1
2
3
4
Sample Output
3
5
6
9
(提示:可以先把前100000个美丽数字求出,存放于数组中,然后根据n 值直接输出)
beautiful Number
(zju2829)
麦克有两个美丽数字3和5,但他很贪心,他想让能被3或者5整除的正整数都是他的美丽数字,现要求输入n (1 <=n <= 100000),相应的输出第n个美丽数字。(要求处理至文件尾,即要用while not eof(input) )
Sample Input
1
2
3
4
Sample Output
3
5
6
9
(提示:可以先把前100000个美丽数字求出,存放于数组中,然后根据n 值直接输出)
题目很简单
附上前20个的运行截图
程序
var
num: array[1..10000] of Int64;
i, cout: Cardinal;
Input, Output: TextFile;//可以不要这句
begin
cout := 1;//记录数组的维
num[1] := 3;
repeat
Inc(cout); //递加数组的维
for i := num[cout - 1] + 1 to num[cout - 1] + 8 do//在上一次的基础上递加循环
if (i mod 3 = 0) or (i mod 5 = 0) then //如果被3或者5整数就记录
begin
num[cout] := i;
Break;
end;
until (cout > 10000);
AssignFile(Input, 'input.txt'); //关联输入文件
Reset(Input); //只读方式打开
AssignFile(Output, '.\output.txt'); //关联输出文件
Rewrite(Output); //以创建并写的方式打开
while not Eof(Input) do //如果没有到文件尾
begin
Readln(input, cout); //读入文件数字
Writeln(Output, num[cout]);//输出对应的完美数到输出文件
end;
CloseFile(Input); //文件关闭
CloseFile(Output); //文件关闭
Readln;
end.