IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Генерация 9 значных чисел...
reill
сообщение 4.04.2003 4:26
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 52

Репутация: -  0  +


Задали преподователи задачку:
Придумать алгоритм записи девятизначного числа,в котором нет повторяющихся цифр и которое делится без остатка на 11.Число делится на 11,если разность между суммой цифр,стоящих на четных местах суммой -на нечетных делится на 11 или равна нулю. Определить минимальное и максимальное среди этих чисел.
Минимальное: 102347586; S1=1+2+4+5+6=18; S2=0+3+7+8=18.

Я тут пару часиков посидел вот катала начало:

Код
program cz;
type  mn=set of byte;
masiv=array[1..9] of string;
var cch: masiv;
cn: masiv;
c:longint;
obr: string;
i:byte;
function mnog(var b: string): boolean;
var f,z integer;
begin
val(b,f,z);
for i:=0 to 9
begin
if f=i then
end;
begin
randomize;
c:=trunc(random*1000000000);
str(c,obr);
for i:=1 to 9 do
begin
if odd(i) then
begin
cn[i]:=copy(obr,i,1);
writeln('cn[',i,']:=',cn[i]);
end
else
begin
cch[i]:=copy(obr,i,1);
writeln('cch[',i,']:=',cch[i]);
end
end;

end.


Но чего то мне этот алгоритм не нравится у кого есть другие идеи буду рад обсудить....

Сообщение отредактировано: volvo - 17.12.2004 11:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
GLuk
сообщение 6.04.2003 16:40
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Ну вот, сразу и обиделся :o

Ты бы сначала вопрос правильно сформулировал, а затем рожи вот такие >:( >:( >:( ставил...

Исходя из вопроса тебе нужна прога записи сгенеренного 9-значного числа причем без разницы куда - тогда см. проц. OutPut9, а тело самой проги, как раз таки выделяет все эти числа и пишет их в файл. Алг-итм не оптимизирован, т.ч. не обессудь...

Код
Uses
   Crt;
Const
    Min9 = 100000000;
    Max9 = 999999999;
Var
  FName:String;
  L:Word;
Procedure OutPut9(S:String);
begin
    FName:='output.txt'#0;
    {S:='102347586';}
    L:=Length(S);
    {WRITE TO FILE}
    asm
       mov ah,3Ch
       mov cx,20h
       lea dx,FName
       inc dx
       int 21h
       mov bx,ax
       mov ah,40h
       lea dx,S
       inc dx
       mov cx,L
       int 21h
       mov ah,3Eh
       int 21h
    end;
    {WRITE TO SCREEN}
    asm
       mov ax,$B800
       mov es,ax
       xor di,di
       mov cx,L
       lea si,S
       inc si
       cld
       mov ah,7  {ATTRIBUTE}
    @@:lodsb
       stosw
       loop @@
    end;
end;
Var
  i,j,Sum1,Sum2:LongInt;
  S:String;
  R:Real;
  M:array[0..9] of Boolean;
  XEP:Boolean;
  F:Text;
Begin
    ClrScr;
    Assign(F,'output.txt');    
    ReWrite(F);
    {Вот алг., но ужасный и не оптимизированный - у меня считал - 25 мин.}
    For i:=Min9 to Max9 do
    begin
         Str(i,S);
         Sum1:=0; Sum2:=0;
         For j:=1 to 9 do M[j]:=False;
         For j:=1 to 9 do
         If Odd(j) then Inc(Sum1,Ord(S[j])-48)
         else
             Inc(Sum2,Ord(S[j])-48);
         XEP:=False;
         For j:=1 to 9 do
         begin
              If M[Ord(S[j])-48] then XEP:=True;
              If not M[Ord(S[j])-48] then M[Ord(S[j])-48]:=True;
         end;
         If not XEP then
         begin
              R:=abs(Sum2 - Sum1) MOD 11;
              If R=0 then WriteLn(F,S);
         end;
         If KeyPressed then Halt(2);
         GotoXY(1,1);
         Write(i);
    end;
    Close(F);


Сообщение отредактировано: volvo - 17.12.2004 11:44
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
reill   Генерация 9 значных чисел...   4.04.2003 4:26
GLuk   Re: Генерация 9 значных чисел...   4.04.2003 19:10
reill   Re: Генерация 9 значных чисел...   5.04.2003 7:34
GLuk   Re: Генерация 9 значных чисел...   6.04.2003 16:40
reill   Re: Генерация 9 значных чисел...   7.04.2003 5:36
GLuk   Re: Генерация 9 значных чисел...   7.04.2003 5:46
reill   Re: Генерация 9 значных чисел...   8.04.2003 4:48
reill   Re: Генерация 9 значных чисел...   8.04.2003 4:55
GLuk   Re: Генерация 9 значных чисел...   8.04.2003 5:28
reill   Re: Генерация 9 значных чисел...   8.04.2003 13:21
GLuk   Re: Генерация 9 значных чисел...   8.04.2003 13:27
reill   Re: Генерация 9 значных чисел...   8.04.2003 15:32
GLuk   Re: Генерация 9 значных чисел...   8.04.2003 16:48
Ivs   Re: Генерация 9 значных чисел...   8.04.2003 17:05
GLuk   Re: Генерация 9 значных чисел...   8.04.2003 17:28
reill   Re: Генерация 9 значных чисел...   9.04.2003 4:57
GLuk   Re: Генерация 9 значных чисел...   9.04.2003 5:51
reill   Re: Генерация 9 значных чисел...   9.04.2003 12:02
GLuk   Re: Генерация 9 значных чисел...   9.04.2003 13:17
reill   Re: Генерация 9 значных чисел...   9.04.2003 16:27
GLuk   Re: Генерация 9 значных чисел...   9.04.2003 17:11
reill   Re: Генерация 9 значных чисел...   9.04.2003 19:51
GLuk   Re: Генерация 9 значных чисел...   10.04.2003 5:20
reill   Re: Генерация 9 значных чисел...   10.04.2003 5:40
GLuk   Re: Генерация 9 значных чисел...   10.04.2003 15:29
reill   Re: Генерация 9 значных чисел...   11.04.2003 11:49
GLuk   Re: Генерация 9 значных чисел...   11.04.2003 12:24
reill   Re: Генерация 9 значных чисел...   11.04.2003 21:32
reill   Re: Генерация 9 значных чисел...   11.04.2003 21:34
GLuk   Re: Генерация 9 значных чисел...   12.04.2003 8:59
reill   Re: Генерация 9 значных чисел...   13.04.2003 10:43
GLuk   Re: Генерация 9 значных чисел...   13.04.2003 11:41
reill   Re: Генерация 9 значных чисел...   14.04.2003 12:41
reill   Re: Генерация 9 значных чисел...   15.04.2003 20:27
GLuk   Re: Генерация 9 значных чисел...   19.04.2003 4:19
reill   Re: Генерация 9 значных чисел...   23.04.2003 5:01
GLuk   Re: Генерация 9 значных чисел...   23.04.2003 15:59
reill   Re: Генерация 9 значных чисел...   24.04.2003 4:14


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 30.07.2025 9:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"