Решаем не сложные задачи на разные темы., задачи на циклы, массивы, строки. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Решаем не сложные задачи на разные темы., задачи на циклы, массивы, строки. |
brut03 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 9 Репутация: 0 |
Вот они:
1) В заданной последовательности определить максимальное количество подряд идущих положительных чисел. (Без использования массива) 2) Дано натуральное число N (N>9) определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах. Пример: N=10025000 - количество нулей = 2. 3) На отрезке [2;n] найти все натуральные числа, сумма цифр которых при умножении числа на А не изменится. 4) Определить наименьший элемент каждой четной строки матрицы А размера [M;N]. 5) Дана квадратичная матрица порядка М. Повернуть ее на а) 90; б) 180; в) 270 градусов в положительном направлении. 6) На отрезке [100;N] ((2^10)<N<(2^31)) найти количество чисел, составленных из цифр a, b, c. 7) Составить программу перевода данного натурального числа в р- ичную систему счисления. (2<=p<=9) Помогите пожалуйста, если не сложно. Заранее благодарен! Сообщение отредактировано: brut03 - -------------------- Бывает в жизни так хреново
Что даже чай не лезит в глотку А лезит в глотку только пиво Которым запиваеш водку |
Atos |
Сообщение
#2
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
6.
{Предполагаем, что введённые цифры a,b,c различны} Код var m,n,sum :longint; a,b,c,i,t,zero,tmp,tmp2,tmp3: byte; function Stepen(p,q:byte):longint; var i:byte; st:longint; begin st:=p; if q=0 then st:=1 else for i:=1 to q-1 do st:=st*p; Stepen:=st; end; begin readln(a,b,c); readln(n); zero:=ord((a=0)or(b=0)or(c=0)); t:=0; sum:=0; tmp2:=1; m:=n; repeat m:=m div 10; inc(t); until m=0; for i:=t-1 downto 0 do begin tmp:=(n div stepen(10,i))mod 10; tmp3:=(ord(a<tmp)+ord(b<tmp)+ord(c<tmp)-ord(i=t-1)*zero); if not((a=tmp)or(b=tmp)or(c=tmp)) then begin sum:=sum+tmp2*tmp3*stepen(3,i); break; end; tmp2:=tmp2*(tmp3+1); if i=0 then sum:=sum+tmp2; end; for i:=3 to t-1 do sum:=sum+stepen(3,i); writeln(sum); readln; end. Проверял на нескольких трёхзначных числах. На всякий случай надо ещё проверить. |
Текстовая версия | 8.05.2024 8:19 |