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

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

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

> Натуральные числа, найти число
Айра
сообщение 31.10.2007 23:16
Сообщение #1


Профи
****

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

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


Цитата
Для любого натурального n найти число, составленное из 1-ц и 2-ек, делящееся на 2n

Вот что у меня получилось:
var n,n2,a,d,x,ch: longint;
f: boolean;
const max=2147483647;
begin
write('введите значение n: ');
readln(n);
if (n mod 5=0) then writeln('для n=',n,' искомого числа не существует')
else
begin
a:=0;
n2:=2*n;
x:=0;
repeat
begin
f:=true;
x:=0;
a:=a+n2;
d:=a;
while (d<>0) and f do
begin
ch:=d mod 10;
if (ch<>1) and (ch<>2) then f:=false;
d:=d div 10;
end;
if f then x:=a;
end;
until (a>=max) or f;
writeln('для n=',n,' x=',x,'')
end;
end.

Вроде работает нормально.. но может можно что-то упростить или сделать лучше? rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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