![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Слава |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Здравствуйте.
Помогите решить задачу на С. Напечатать в порядке возрастания N чисел вида 2^i* 3^j*5^k. (^ степень, * умножение) Заранее благодарю |
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Условие задачи приведено полностью ? Что то мне подсказывает что нет, ибо решение в таком случае более чем простое ...
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
да задача такая - поясни пожалуйста решение
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Прошу прощения, я был не прав, с заданием все в порядке. Хотя ... Ну вот посмотри, такой вариант тебя устроит ?)) Мне кажется врядли ;) Хотя задание выполнено
![]()
# include <iostream.h>
int main(void)
{
// допустим j = 0; k = 0; -> 3^0 = 1; 5^0 = 1;
for (int i = 0; i < 30; i++) cout << (int)(pow(2, i)) << endl; // 2^i* 3^j* 5^k;
return 0;
}
Другое дело, если бы в уcловие было сказано первые N идущих в порядке возрастания ... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Michael_Rybak |
![]()
Сообщение
#5
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
Другое дело, если бы в уcловие было сказано первые N идущих в порядке возрастания ... Похоже, именно такой вариант имелся ввиду.
#include <iostream>
#include <set>
using namespace std;
set <int> s;
int main()
{
int n;
cin >> n;
s.insert(1); // 2^0 * 3^0 * 5^0
for (int i = 0; i < n; ++i)
{
int v = *s.begin();
s.erase(s.begin());
s.insert(v * 2);
s.insert(v * 3);
s.insert(v * 5);
cout << v << endl;
}
}
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Michael_Rybak, насколько я вижу задание - речи идет о C, а никак не о С++ ...
"Поспешность нужна только при ловле блох" (С) Козьма Прутков klem4, тебя это тоже касается... |
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Виноват, вот на Си версия, немного громоздкая ...
# 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";'
|
![]() ![]() |
![]() |
Текстовая версия | 1.08.2025 19:43 |