pascal电脑问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:58:04
牛式
下面是一个乘法竖式,如果用我们给定的那几个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式。
* * *
x * *
-------
* * *
* * *
-------
* * * *
数字只能取代*,当然第一位不能为0。
写一个程序找出所有的牛式。
PROGRAM NAME: crypt1
INPUT FORMAT
Line 1: 数字的个数。 Line 2: N个用空格分开的数字(每个数字都∈{1,2,3,4,5,6,7,8,9}) 。
SAMPLE INPUT (file crypt1.in)
5
2 3 4 6 8
OUTPUT FORMAT
共一行,一个数字。表示牛式的总数。下面是样例的那个牛式。
2 2 2
x 2 2
------
4 4 4
4 4 4
---------
4 8 8 4
SAMPLE OUTPUT (file crypt1.out)
1

一道搜索题,USACO的
var
n:integer;
x:array[1..9] of shortint;
a:array[1..3] of shortint;
b:array[1..2] of shortint;
c,d,s:integer;
tot:integer;
procedure outit;
begin

writeln(tot);

end;
procedure panduan;
var
i,j:integer;
a1:integer;
cc,dd,ss:shortint;
p:boolean;
begin
a1:=a[3]+10*a[2]+100*a[1];
c:=a1*b[2];
d:=a1*b[1];
s:=c+d*10;
if (c>=1000) or (d>1000) then
exit;
if s>=10000 then
exit;
for i:=1 to 3 do
begin
cc:=c mod 10;
dd:=d mod 10;
c:=c div 10;
d:=d div 10;
p:=false;
for j:=1 to n do
if cc=x[j] then
begin
p:=true;break;
end;
if p=false then
exit;
p:=false;
for j:=1 to n do
if dd=x[j] then