Вопрос №34155
 
 
 
 
Категории

 

Как написать подпрограмму, реализующую выполнение следующей задачи: дана последовательность натуральных чисел, заканчивающихся нулем. Проверить числа на простоту, найти количество простых чисел?

dero · около 6 лет назад · 3 ответа
 

Хороший вопрос Ф топку
1
1
Ответы
Колобок · около 6 лет назад

Вы хотя бы скажите, на каком языке это все надо написать, или будем угадывать? А еще лучше уточните что конкретно непонятно.

 
 
kelz · около 6 лет назад

Вариант C/C++:

unsigned num = 0, pos = 0;
while(ptr[pos]) if (check_simplicity(ptr[pos++])) num++;

Осталось только это в виде функции оформить, принимаемый указатель ptr на массив unsigned int-ов на валидность проверить и вернуть значение num.

 
 
kelz · около 6 лет назад

Асм:

mov ebx, [ebp + 8] ; указатель на массив первым аргументом
xor edx, edx ; тут будем считать кол-во
xor ecx, ecx ; индекс в массиве

@check_next_val:
mov eax, [ebx + ecx * 4] ; берем очередное число
inc ecx ; сразу инкремент индекса
test eax, eax ; проверяем на нуль
jz @exit ; если нуль, то выходим
push eax ; толкаем число в стек
call check_simplicity ; вызов теста простоты
test eax, eax ; если вернули нуль...
jz @check_next_val ; ...то берем следующий элемент
inc edx ; увеличиваем кол-во простых чисел
jmp @check_next_val ; ну и к следующему числу переходим

@exit:
push edx ; перекладываем результат в eax
pop eax

 
 
 
 
 
Ссылка на этот вопрос
 
Поискать ответ на вопрос: ответы@mail.ru, otvety@google.ru, Яндекс.Ответы
 
Читать новые вопросы в: LiveJournal, Livinternet, Google Reader
 
Этот вопрос посмотрели 311 раз, в среднем 4 просмотра в месяц (0.14)
 
 
 
 
 
 
Адрес друга:
 
 
 
 
 
 
 
 
 
 
 

© vorum.ru — вопросы и ответы, 2006–2016
Пишите нам на in@vorum.ru

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

Цифры не для всех: 138

 
 
× Нравится наш сайт?
Нажмите кнопку «Мне нравится» (Like), чтобы присоединиться к нам на Facebook