永发信息网

有几道pascal编程提想请教……

答案:4  悬赏:30  手机版
解决时间 2021-04-11 07:44
  • 提问者网友:箛茗
  • 2021-04-10 17:57

1、完数

Description

如果一个正整数等于它的所有真因子之和,则称该数为“完数”,或称“完全数”。输入正整数n的值,输出不超过n的最大完数。

Input

只有一行且只有一个正整数:n
(1<=n<=10^8)

Output

只有一行且只有一个正整数:不超过n的最大完数

Sample Input

10

Sample Output

6

2、亲和数

Description

如果一个正整数a的所有真因子之和等于b,而b的所有真因子之和又等于a,则a、b称为一对亲和数。
输入正整数m、n的值,输出区间【m,n】内所有的亲和数。

Input

只有一行有二个正整数:m n
( 1 <= m < n <= 20000 )

Output

只有一行有二个正整数:一对亲和数x、y , 两数之间用一个空格隔开
( x < y ,题目保证区间内有且只有一对亲和数)

Sample Input

200 300

Sample Output

220 284

3、方阵填数

Description

在一个n*n的方阵中,填入1、2、……、n*n 。

Input

只有一行且只有一个正整数:n
( 1 <= n <= 20 )

Output

共有n行n列,每个数据占4个字符位置

Sample Input

6

Sample Output

16 17 18 19 20 1

15 30 31 32 21 2

14 29 36 33 22 3

13 28 35 34 23 4

12 27 26 25 24 5

11 10 9 8 7 6

谢谢给我帮助的人,顺便想问下,有没有人会这题——是另外的,对了另加分

*偶数之和

Description

输入正整数m、n的值,输出区间【m,n】内所有偶数之和

Input

只有一行有二个正整数:m n
(1<=m<=n<=10^12)

Output

只有一行且只有一个正整数:区间[m,n]内所有的偶数之和

Sample Input

2 8

Sample Output

20

这些题目来自 http://218.75.87.27:101/JudgeOnline/ 这个网站,希望大家现在这里试一下,AC了再发

谢谢啦!!

最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-04-10 19:35

第一提做出来了!!不过要是N取得太大要很慢!源码如下(已调试!):


program wanshu;
var
n,b:longint;
i,j,k:longint;
begin
writeln('input n=');readln(n);
for i:=2 to n do begin
k:=0;
for j:=1 to i-1 do
if i mod j=0 then inc(k,j);
if k=i then b:=i;
end;
writeln(b);
readln;
end.

全部回答
  • 1楼网友:煞尾
  • 2021-04-10 22:34
完数:(0ms) VAR n:cardinal; BEGIN readln(n); if(n<6)then writeln(0) else if(n<28)then writeln(6) else if(n<496)then writeln(28) else if(n<8128)then writeln(496) else if(n<33550336)then writeln(8128) else writeln(33550336); END.
  • 2楼网友:逃夭
  • 2021-04-10 21:01
第一个题的for循环建议用downto
  • 3楼网友:掌灯师
  • 2021-04-10 20:25

楼主问的问题里面最难的就是3、方阵填数

其实用角点判断就可以, 这些都是很基础的题目

我写给你看

先看运行截图

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯