[size=small]这几个题哪个高手会写,写一下哈!
(1).输入自然数n,求前n个合数(非素数),其素因子仅有2,3或5
(2).自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12因子为1,2,3,4,6 若自然数a的因子之和为b,而且b的因子之和又是a,则称a,b为一对亲和数,求最小一对亲和数。
(3).求前n个自然数的平方和,要求不用乘法,如:3的平方和为3*3,可为3+3+3
(4).试用容积分别为17升,13升的两个桶为工具,从大油罐中倒出15升油,编程显示出具体的倒油过程。
(5).如果一个数从左边读和从右边读都是同一个数,就称为回文数,如:6886就是哦,找出所有3位回文数。
(6).任何大于2的自然数都可以写成不超过4个平方之和。
如:8=2的2次方+2的2次方,14=1的2次方+2的2次方+3的2次方
由键盘输入自然数N(2<n<2000),输出其不超过4个平方数之和的表达式。[/size]
[code="pascal"]
program qinheshu;
var i,m,k,j,p,q,t,x,y,s,r,c,b:longint;
begin readln(x,y);
k:=0;
if x=1
then x:=2;
for i:=x to y
do begin m:=i;
q:=1; t:=1;
while q<=sqrt(m) do begin inc(q);
p:=q;
while (m mod q=0) do begin p:=p*q;
m:=m div q;
end;
p:=(p-1)div (q-1);
t:=t*p;
end;
if m>1 then begin p:=m+1;
t:=t*p;
end; s:=t-i;
m:=t-i;
q:=1;
t:=1;
if m>i then begin while q<=sqrt(m) do begin inc(q);
p:=q;
while (m mod q=0)
do begin p:=p*q;
m:=m div q;
end;
p:=(p-1) div (q-1);
t:=t*p;
end;
if m>1 then begin p:=m+1;
t:=t*p; end;
if (t-s=i)and(s<>i) then inc(k);
end;
end;
writeln(k);
end.
[/code]
:shock: :shock: :shock:
这么简单的问题,看来是作业吧.自己好好做,如果不懂就算再简单也会愿意回答,如果是想让人帮你做作业的,no door