Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/65: Рейтинг темы: голосов - 65, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 5

Является ли заданное натуральное число палиндромом

31.01.2010, 14:52. Показов 12107. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем надо решить задачки, а я в паскале полный ноль, помогите пожалуста!

№1
Пусть п - целое число от 1 до 365. Присвойте целой переменной т значение 1, 2,..., 6 или 7 в зависимости от того, на какой день недели (понедельник, вторник, ..., субботу или воскресенье) приходится n-й день невисокосного года, в котором 1 января - среда.

№2
Найти любое трёхзначные число, кратное заданному Р и не равное ему.

№1
Определить, является ли заданное натуральное число палиндромом (палиндром – число, одинаково читаемое слева направо и справа налево).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2010, 14:52
Ответы с готовыми решениями:

Определить, является ли заданное натуральное число палиндромом
Определить, является ли заданное натуральное число палиндромом ,т .е. таким, десятичная запись которого читается одинаково: слева направо...

Определить, является ли заданное число палиндромом
Назовем натуральное число палиндромом, если его запись читается одинаково с начала и с конца (как, например 4884, 393, 1). Определить,...

Определить, является ли натуральное число n (n<=9999) палиндромом
4. Определить, является ли натуральное число n (n&lt;=9999) палиндромом (перевертышем) с учетом четырех цифр, например, 2222, 6116, 0440 и...

16
 Аватар для Tom_Sawyer
88 / 88 / 56
Регистрация: 05.12.2009
Сообщений: 134
31.01.2010, 15:13
Лучший ответ Сообщение было отмечено как решение

Решение

№3.
Pascal
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Program n1;{Задача.  Проверить, является ли натуральное число N палиндромом.}
uses crt;
var
         a, { данное число }
         b, { копия a }
         d, { делитель числа }
         d1, { делитель для нахождения левых цифр }
         d2 { делитель для нахождения правых цифр }
         :longint;
         n, { количество цифр }
         i, { номер числа сравнений цифр }
         ts1, { цифра в левой части записи числа }
         ts2 { цифра в правой части записи числа }
         :integer;
         flag { признак палиндромности числа }
         :0..1;
       begin
         clrscr;
         write ('Введите число: ');
         readln (a); {узнаем, сколько цифр в числе}
         b := a;
         n := 0;
         d1 := 1;
         while b<>0 do
           begin
             Inc (n); {увеличение n на единицу}
             b:=b div 10;
             d1:=d1*10;
           end;
         d1:=d1 div 10;
         d2:=1;
         flag:=0;
         for i:=1 to n div 2 do
           begin
             ts1:=a div d2 mod 10;
             d2:=d2*10;
             ts2:=a div d1 mod 10;
             d1:=d1 div 10;
             if ts1<>ts2
               then
                 begin
                   flag:=1;
                   writeln('Это число не является палиндромом.');
                   break;
                 end;
           end;
         if flag=0
           then
             writeln ('Данное число является палиндромом.');
         readln;
end.
3
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 5
31.01.2010, 15:39  [ТС]
А как 2е первые незнаеш?
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
31.01.2010, 16:53
№2
Pascal
1
2
3
4
5
6
7
8
9
10
11
label exit;
var p,i : integer;
begin
writeln('Введите число:');
readln(p);
for i:=p to 1000 do begin
if ((i mod p)=0) then goto exit;
end;
writeln(i);
readln;
end.
1
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
31.01.2010, 16:59
Цитата Сообщение от nikkka Посмотреть сообщение
№2
Pascal
1
2
3
4
5
6
7
8
9
10
11
label exit;
var p,i : integer;
begin
writeln('Введите число:');
readln(p);
for i:=p to 1000 do begin
if ((i mod p)=0) then goto exit;
end;
writeln(i);
readln;
end.
вы хоть протестировали тот примитив который вы сделал?

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
var p,i:integer;
begin
write('p=');
readln(p);
for i:=100 to 999 do
if (i mod p=0) and (i<>p) then begin
writeln(i);
readln;
exit;
end;
end.
2
16 / 16 / 3
Регистрация: 06.06.2009
Сообщений: 50
31.01.2010, 18:21
*см. мой пост ниже*
0
0 / 0 / 0
Регистрация: 31.01.2010
Сообщений: 5
31.01.2010, 18:23  [ТС]
Спасиб ребят за помощь, помогите еще с самой первой))
0
16 / 16 / 3
Регистрация: 06.06.2009
Сообщений: 50
31.01.2010, 18:26
Лучший ответ Сообщение было отмечено как решение

Решение

Предлагаю оптимизировать этот код:

Pascal
1
2
3
4
5
6
7
8
9
10
11
var p,i:integer;
begin
write('p=');
readln(p);
for i:=100 to 999 do
if (i mod p=0) and (i<>p) then begin
writeln(i);
readln;
exit;
end;
end.
Если p > 499 - выводим сообщение об ошибке("Не существует трехзначных чисел, кратных заданному")
Если p > 50, Начинаем цикл проверки чисел с i = 2*p
в противном случае с i = 100.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var p,i,tmp:integer;
begin
write('p=');
readln(p);
if(p > 499)
begin
     writeln("eror");
     exit;
end;
if(p > 50) then
     tmp:=2*p;
else
     tmp:=100;
for i:=tmp to 999 do
if (i mod p=0) and (i<>p) then begin
writeln(i);
readln;
exit;
end;
end.
3
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
01.02.2010, 15:21
Первая задача:
t:= 1+((2+(n-1)) mod 7);

Добавлено через 14 минут
Вторая задача.
Если p=0 - решений нет
Если 500<=p - решений нет
Если (50<=p) and (p<500), то можно взять ответ t:= 2*p
Если (0<p) and (p<50), от ответ
if ( 100 mod p = 0 ) then
begin
t:= 100;
end
else
begin
t:= p*((100 div p)+1);
end;
1
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
01.02.2010, 16:06
А вот и мой ваниант задачи №3
Pascal
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
function pal(i : longint) : boolean;
var
s : string;
v,k,l : longint;
begin
pal:=true;
l:=length(s);
str(i,s);
if odd(l)=false then begin
k:=trunc(l/2);
for v:=1 to k do begin
if s[v]<>s[l-v+1] then pal:=false;
end;
end;
if odd(l)=true then begin
k:=trunc(l/2+0.5);
for v:=1 to k-1 do begin
if s[v]<>s[l-v+1] then pal:=false;
end;
end;
end;
var
i : longint;
begin
readln(i);
if pal(i) then writeln('yes')
               else writeln('no');
readln;
end.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.02.2010, 16:40
№3 для чисел типа longint правильно.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var N,M,P:longint;
    i,k:integer;
begin
clrscr;
write('Vvedite naturalnoe chislo N=');
readln(N);
M:=N;
P:=0;
while M>0 do
  begin
    i:=M mod 10;
    P:=P*10+i;
    M:=M div 10;
  end;
if P=N then write('Palindrom')
else write('Ne palindrom');
readln
end.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
01.02.2010, 16:43
№3 для чисел типа longint правильно.
Что значит только для longint? Разве для integer не работает? :O
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.02.2010, 17:22
Цитата Сообщение от nikkka Посмотреть сообщение
Разве для integer не работает?
Очень содержательный вопрос. Просто у Вас зачем-то для этого типа используются строки, которые для этого типа совсем не нужны. Строки нужны при работе с длинными числами, когда они и задаются как строки.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
01.02.2010, 17:33
Но ведь работает, и для маленьких и для больших.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
01.02.2010, 18:50
nikkka, а вот ты нам и расскажи чем в Pascal тип integer отличается от типа longint, а мы все тут внимательно послушаем.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
01.02.2010, 19:06
odip, просто для проверки я вводил большие числа, а потом не переправлял. Какая разница?
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
02.02.2010, 03:58
Цитата Сообщение от nikkka
Но ведь работает, и для маленьких и для больших
nikkka, то что у Вас написано не работает. Причем в зависимости от паскаля он выдает либо постоянно 'no' либо постоянно 'yes'. Так что не верится мне, что Вы вообще хоть что-то проверяли...
А вообще Вы весьма интересный способ придумали. Если я захочу острых ощущений, я его еще сяду и попробую разобрать. А то я все примитивами вроде
этих
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function Pal(s : string) : boolean;
begin
  Pal := s[1] = s[Length(s)];
  if (s[1] = s[Length(s)]) and (ord(s[0])>2) then
    Pal := Pal(Copy(s, 2, Length(s)-2))
end;
var
  N : string;
begin
  ReadLn(N);
  WriteLn(Pal(N))
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  i:byte;
  s:string;
begin
  ReadLn(s);
  i:=0;
  repeat
    inc(i)
  until
    (s[i] <> s[Length(s)-i+1]) or (i>=Length(s) div 2);
  WriteLn(s[i] = s[Length(s)-i+1]);
  ReadLn
end.
раньше проверял. А тут такие масштабы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2010, 03:58
Помогаю со студенческими работами здесь

Дано натуральное число. Определить, является ли оно палиндромом
Дано натуральное число. Определить, является ли оно палиндромом. Число-палиндром можно читать справа налево и слева направо. Например,...

является ли заданное натуральное число n простым
Составить рекурсивную программу-функцию проверяющую, является ли заданное натуральное число n простым? uses crt; {основная функция} ...

Рекурсия: определить, является ли заданное натуральное число простым
1. Написать функцию определения, является ли заданное натуральное число простым.

Определить количество простых чисел, не превосходящих заданное число (N<16000), шестнадцатеричная форма записи которых является палиндромом
Помогите написать программу. Задача: Определить количество простых чисел, не превосходящих заданное число (N&lt;16000),...

Назовём натуральное число палиндромом
Назовём натуральное число палиндромом, если его запись читается одинаково с начала и с конца (как, например, 4884, 393, 1). Найти все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru