pascal 完全数 必做题:1、 求正整数A和B之间的完全数(A<B).完全数是指它的小于该数本身的因子之和等于它本身,如6=1+2+3,6即是一个完全数.样例:输入:4 10输出:16=1+2+3说明:输入共一
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 07:28:28
![pascal 完全数 必做题:1、 求正整数A和B之间的完全数(A<B).完全数是指它的小于该数本身的因子之和等于它本身,如6=1+2+3,6即是一个完全数.样例:输入:4 10输出:16=1+2+3说明:输入共一](/uploads/image/z/5448688-16-8.jpg?t=pascal+%E5%AE%8C%E5%85%A8%E6%95%B0+%E5%BF%85%E5%81%9A%E9%A2%98%EF%BC%9A1%E3%80%81++%E6%B1%82%E6%AD%A3%E6%95%B4%E6%95%B0A%E5%92%8CB%E4%B9%8B%E9%97%B4%E7%9A%84%E5%AE%8C%E5%85%A8%E6%95%B0%28A%26lt%3BB%29.%E5%AE%8C%E5%85%A8%E6%95%B0%E6%98%AF%E6%8C%87%E5%AE%83%E7%9A%84%E5%B0%8F%E4%BA%8E%E8%AF%A5%E6%95%B0%E6%9C%AC%E8%BA%AB%E7%9A%84%E5%9B%A0%E5%AD%90%E4%B9%8B%E5%92%8C%E7%AD%89%E4%BA%8E%E5%AE%83%E6%9C%AC%E8%BA%AB%2C%E5%A6%826%EF%BC%9D1%EF%BC%8B2%EF%BC%8B3%2C6%E5%8D%B3%E6%98%AF%E4%B8%80%E4%B8%AA%E5%AE%8C%E5%85%A8%E6%95%B0.%E6%A0%B7%E4%BE%8B%EF%BC%9A%E8%BE%93%E5%85%A5%EF%BC%9A4++10%E8%BE%93%E5%87%BA%EF%BC%9A16%3D1%2B2%2B3%E8%AF%B4%E6%98%8E%EF%BC%9A%E8%BE%93%E5%85%A5%E5%85%B1%E4%B8%80)
pascal 完全数 必做题:1、 求正整数A和B之间的完全数(A<B).完全数是指它的小于该数本身的因子之和等于它本身,如6=1+2+3,6即是一个完全数.样例:输入:4 10输出:16=1+2+3说明:输入共一
pascal 完全数
必做题:
1、 求正整数A和B之间的完全数(A<B).完全数是指它的小于该数本身的因子之和等于它本身,如6=1+2+3,6即是一个完全数.
样例:
输入:4 10
输出:1
6=1+2+3
说明:输入共一行,为A,B两个整数.
输出为n行,第一行为完全数的个数,第二行到n行输出完全数,每行一个完全数,格式如样例.
2、如果一个数从左边读和从右边读都是同一个数,就称为回文数.例如6886就是一个回文数,从给出的数据中统计出既是回文数又是素数的数(<109).
样例:
输入:(tyip.in)
7 12 10 11 121 1331 10301
输出:(tyip.out)
3
3、求出哥德巴赫猜想的所有解(将一个奇数拆分成二个素数之和),并按从小到大的顺序写出.
样例:
输入(guess.in):
15
输出(guess.out):
15=2+13
pascal 完全数 必做题:1、 求正整数A和B之间的完全数(A<B).完全数是指它的小于该数本身的因子之和等于它本身,如6=1+2+3,6即是一个完全数.样例:输入:4 10输出:16=1+2+3说明:输入共一
1、
var
i,a,b,top:longint;
c:array[0..100] of string;
procedure doit(x:longint);
var
i,num:longint;
s,h:string;
begin
str(x,s);
s:=s+'=';
num:=0;
for i:=1 to x div 2 do
if x mod i=0 then
begin
str(i,h);
s:=s+h+'+';
num:=num+i;
end;
if num=x then
begin
inc(top);
delete(s,length(s),1);
c[top]:=s;
end;
end;
begin
readln(a,b);
for i:=a to b do
doit(i);
writeln(top);
for i:=1 to top do
writeln(c[i]);
end.
2、
var
x,ans:longint;
function pd(x:longint):boolean;
var
i,j:longint;
s:string;
begin
str(x,s);
i:=1;
j:=length(s);
while ij then exit(true) else exit(false);
end;
function dp(x:longint):boolean;
var
i,j:longint;
begin
dp:=true;
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then
begin
dp:=false;
break;
end;
end;
begin
while not eoln do
begin
read(x);
if pd(x) and dp(x) then inc(ans);
end;
writeln(ans);
end.