简单pascal程序

王朝知道·作者佚名  2012-04-18
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

1.输入一个整数,证明任何偶数都可有两个素数之和表示。如:4=2+2

8=3+5

12=5+7

2.输入一个正整数n,把它分解成质因子相乘的形式。如:36=1*2*2*3*3;

19=1*19;

3.输入二进制转十进制

4.输入一个数据x,判断这个数是否为素数

5.输入一个数据(长整型),判断这个数是否为回文数

若有详解,可追加赏分

勿写废话

參考答案:

第一题- -;

program dsq;

function check(x:longint;):boolean;

var i:longint;

f:boolean;

begin

f:=false;

for i:=2 to sqrt(x) do if x mod i=0 then

begin

f:=true;

break;

end;

if not f then exit(true);

end;

procedure print(xlongint);

begin

writeln(n,'=',x,'+',n-x);

end;

var n,i:longint;

begin

readln(n);

for i:=2 to n-2 do

begin

if check(i) then

if check(n-i) then

begin

print(i);

break;

end;

end;

end.

第二题- -;

program dsq;

var n,i:longint;

begin

readln(n);

write(n,'=1');

i:=2;

while i<=n do

begin

while n mod i =0 do

begin

write('*',i);

n:=n div i;

end;

inc(i);

end;

end.

第3题- -;

program dsq;

var s:string;

i:longint;

n,k:longint;

begin

readln(s);

k:=1;n:=0;

for i:=length(s) downto 1 do

begin

n:=n+k*(ord(s[i])-48);

k:=k*2;

end;

writeln(n);

end;

第4题- -;

program dsq;

var i,n:longint;

f:boolean;

begin

readln(n);

f:=false;

for i:=2 to sqrt(n) do if n mod i=0 then

begin

f:=true;

break;

end;

if not f then writeln('sushu'); else writeln('Not sushu');

end.

第5题- -;

program dsq;

var l,i:longint;

s:string;

f:boolean;

begin

readln(l);

str(l,s);

f:=false;

for i:=1 to length(s) div 2 do

if s[i]<>s[length(s)-i+1] then

begin

f:=true;

break;

end;

if not f then writeln('huiwenshu') else writeln('Not huiwenshu');

end.

全是笔记本上写的,可能有点小错误,但是基本不会错-。-;

有任何关于pascal的问题都可以来问我,没有我不会的-。-;

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航