blob: acb5e10420d44b1872e90699bdc2b37e9f85d3e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
MODULE Ch1;
IMPORT Out;
PROCEDURE HasDups(N:INTEGER):BOOLEAN;
VAR
I:LONGINT;
Hash:ARRAY 10 OF INTEGER;
BEGIN
FOR I := 0 TO LEN(Hash)-1 DO Hash[I] := 0 END;
IF N > 9999999999 THEN RETURN TRUE END;
WHILE N # 0 DO
IF Hash[N MOD 10] # 0 THEN RETURN TRUE END;
Hash[N MOD 10] := 1;
N := N DIV 10;
END;
RETURN FALSE;
END HasDups;
PROCEDURE SpecialIntegers(N:INTEGER):INTEGER;
VAR I,Count:INTEGER;
BEGIN
Count := 0;
FOR I := 1 TO N DO IF ~HasDups(I) THEN INC(Count) END END;
RETURN Count;
END SpecialIntegers;
BEGIN
Out.Int(SpecialIntegers(15),0); Out.Ln;
Out.Int(SpecialIntegers(35),0); Out.Ln;
END Ch1.
|