我有个PASCAL语言编程问题!!急

发布网友 发布时间:2022-04-20 08:51

我来回答

1个回答

热心网友 时间:2023-07-12 03:17

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

1、百钱买百鸡:一只公鸡值5元,一只母鸡值3元,3只小鸡值1元。现在要求用100元买100只鸡,编程求出所有的购买方案。

2、如果一个数从左边读和从右边读都是同一个数,就是回文数。如果一个数只能被1和它自己相除,就称素数,编程求所有的既是回文数又是素数的三位数。

以上2题均要求用PASCAL做,写出程序。如果能附解释的话,追加积分。

解析:

1.因为数量少,直接穷举就可以了,如果数量大可以动态规划.

begin

for k:=0 to 300 do {穷举小鸡数,至多300}

if (k mod 3)=0 then {小鸡数必为3的倍数}

begin

for i:=0 to 20 do {穷举公鸡数,至多20}

for j:=0 to 33 do {穷举母鸡数,至多33}

if (i*5+j*3+(k div 3))=100 {判断总价值是否=100}

then writeln('gong:',i,' mu:',j,' xiao:',k);

end;

end.

2.依然是穷举法

begin

for i:=100 to 999 do {穷举数}

begin

if (i div 100)=(i mod 10) then {判断回文数}

begin {判断素数}

t:=1;

for j:=2 to (i div 2) do

if (i mod j)=0 then t:=0;

if t=1 then writeln(i);

end;

end;

end.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com