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

> Внимание!

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

> задача на С, вычисление...
Слава
сообщение 12.09.2006 17:52
Сообщение #1


Гость






Здравствуйте.
Помогите решить задачу на С.
Напечатать в порядке возрастания N чисел вида 2^i* 3^j*5^k. (^ степень, * умножение)
Заранее благодарю
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 13.09.2006 19:00
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Виноват, вот на Си версия, немного громоздкая ...


# include <stdio.h>
# include <conio.h>
# include <stdlib.h>

void GetSequence(int n)
{
int d[] = {2, 3, 5};

int next = 0;
int count = 0;

do
{
int temp = ++next;

int badCount = 0;

while ((temp > 1) && (badCount < 3))
{

while ((temp > 1) && (badCount < 3))
{
badCount = 0;

for (int i = 0; i < 3; i++)
if (temp % d[i] == 0)
{
temp = temp / d[i];
break;
}
else
badCount++;
}
}

if (badCount < 3)
{
printf("%d\n", next);
count++;
}

} while (count < n);
}

int main(void)
{
int n;

printf("n = "); scanf("%d", &n);

GetSequence(n);

return 0;
}


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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