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

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Помогите, пожалуйста, с задачами по C!, 2 задачи на языке C: числа палиндромы, последовательность Хемминга.
Diman
сообщение 30.03.2011 16:41
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Дмитрий Кожевников

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


Здравствуйте.
Помогите, пожалуйста, с решением второй и четвёртой задачи на C. Можно просто словесный алгоритм решения.
Заранее, спасибо!
smile.gif

Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
DarkWishmaster
сообщение 31.03.2011 15:06
Сообщение #2


Бывалый
***

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

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


Цитата(Diman @ 30.03.2011 16:41) *

Здравствуйте.
Помогите, пожалуйста, с решением второй и четвёртой задачи на C. Можно просто словесный алгоритм решения.
Заранее, спасибо!
smile.gif

Прикрепленное изображение

) По второй задаче делаем цикл от 1 до N:
for i:=1 to n do
если i палиндром тогда
если i^3 палиндром, то выводи на экран i.
для функции полиндрома можно поставить все цифры числа в векторе, пройти пол вектора и посмотреть если a[i]=a[n-i+1] если да, то значит он палиндром.
Вот для четвертой задачи:

uses crt;
function Prost(n:longint):boolean;{определение простого числа}
var i:longint;
begin
Prost:=true;
for i:=2 to round(sqrt(n))do{от двух до корня из числа}
if n mod i=0 then{если на что-то делится}
begin
Prost:=false;{не простое}
break;{дальше не проверяем}
end;
end;
function Hemming(n:longint):boolean;{определение Хемминга}
var i:longint;
begin
Hemming:=true;
for i:=7 to n div 2 do{от 7(меньше допустимо)до середины числа}
if Prost(i)and not(i in [2,3,5]) and(n mod i=0) then{если простое и на него можно делить}
begin
Hemming:=false;{не Хемминг}
break;{дальше не ищем}
end;
end;
var n,a,k:integer;
begin
clrscr;
write('n=');readln(n);
a:=1;k:=1;
while k<=n do
begin
inc(a);
{если число делится на 2,3,5 и больше ни на одно простое}
if ((a mod 2=0)or(a mod 3=0)or(a mod 5=0)) and Hemming(a) then
begin
inc(k);{считаем}
write(a,' ');{это просто для проверки, можно убрать}
end;
end;
writeln;
write('Hemming(',n,')=',a);
readln
end.

В С не разбираюсь, но думаю тебе и тут будет понятно.

Сообщение отредактировано: DarkWishmaster - 31.03.2011 16:55
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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