pascal 完全数 必做题:1、 求正整数A和B之间的完全数(A<B).完全数是指它的小于该数本身的
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/24 07:19:12
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
必做题:
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
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.
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.
pascal求正整数2到100之间的完全数
求正整数2和100之间的完全数.完全数:因子之和等于本身的数.如6=1+2+3.
打印出1000以内的所有“完全数”.完全数是指一个正整数,其所有小于该数的因子之和等于该数本身.例如:6
用VB编程,查找介于正整数A,B之间只有两个数字相同的完全平方数.所谓完全平方数是指其平方根为整数的数.
如果一个数的因子和等于这个数本身,则称这样的数为“完全数”.编写VB程序,求1~500之间的完全数
a,b为正整数,且24a+168b为完全平方数,求a+b的最小值
已知两数的平方和等于两数完全平方和加上a,还等于两数完全平方差减去b,求a 和b是?
三个不同的正整数a,b,c,使a+b+c=133,且任意两个数的和都是完全平方数.则a,b,c是?
求完全平方数小于1000的完全平方数的和
一个数A与60的乘积为完全平方数,求A的最小值和这个完全平方数
已知a,b为正整数,a-b为素数,ab为完全平方数,a大于等于2012,求a的最小值.
[free pascal]完全数