Помогите с задачами!
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Нужна помощь по задачам:
1) Определить номера подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда.
2) Пусть бактерии могут быть двух цветов: зеленые и красные. Красная бактерия за один такт времени меняет цвет на зеленый. Зеленая бактерия за один такт времени делится на две бактерии: красную и зеленую. Сколько всего бактерий (красных и зеленых вместе) будет через K тактов времени, если, если сначало было N бактерий красного цвета.
3) Некий астролог определяет счастливые и нечаствливые дни так: он вписывает подряд число, номер месяца и год рождения. В получившемся числе складывает цифры, у вновь получившегося числа внось складывает все цифры и т.д., пока очередная сумма цифр не станет однозначным числом. Это число и характеризует "счастливость дня". Напишите программу определяющую по дате ее "счастиловость".
Пример. Ввод: день рождения: 05
номер месяца: 02
год рождения: 1995
Вывод: Счастиливый день - 4.
Ребята! Помогите! Оч сильно нужна ваша помощь...
1) Определить номера подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда.
2) Пусть бактерии могут быть двух цветов: зеленые и красные. Красная бактерия за один такт времени меняет цвет на зеленый. Зеленая бактерия за один такт времени делится на две бактерии: красную и зеленую. Сколько всего бактерий (красных и зеленых вместе) будет через K тактов времени, если, если сначало было N бактерий красного цвета.
3) Некий астролог определяет счастливые и нечаствливые дни так: он вписывает подряд число, номер месяца и год рождения. В получившемся числе складывает цифры, у вновь получившегося числа внось складывает все цифры и т.д., пока очередная сумма цифр не станет однозначным числом. Это число и характеризует "счастливость дня". Напишите программу определяющую по дате ее "счастиловость".
Пример. Ввод: день рождения: 05
номер месяца: 02
год рождения: 1995
Вывод: Счастиливый день - 4.
Ребята! Помогите! Оч сильно нужна ваша помощь...
подъезд=n / (9*4)+1
этаж=(n-n / (9*4)*(9*4))/4+1
этаж=(n-n / (9*4)*(9*4))/4+1
За n что ты брал? Номер квартиры грубо говоря?airyashov писал(а):подъезд=n / (9*4)+1
этаж=(n-n / (9*4)*(9*4))/4+1

Со 2ой задачей я чутка разобрался...но с делением проблемы...Пока что написано ко 2ой:
begin
writeln('vvedite kol-vo taktov ');
readln(k);
writeln('vvedite chislo krasnih bakterii');
readln(n);
s:=0;
For i:=1 to k do
begin
zel:=n;
s:=s+t;
t:=zel*i*2
i:=i+1;
end;
writeln(s);
readln;
end.
Только самое сложное это в цикле фор...Я намудрил...Часть подсчетов он делает правильно, другую - нет.
2) Классический ряд Фибоначчи, общее число бактерий = N * Число_Фибоначчи(К)
It's a long way to the top if you wanna rock'n'roll
Т.е. так должно, учитываю что к примеру 2 бактерии: 2*6? (6- кол-во тактов)somewhere писал(а):2) Классический ряд Фибоначчи, общее число бактерий = N * Число_Фибоначчи(К)
Что то не сходится. Какое-бы я число не вводил всегда 1ый этаж....airyashov писал(а):подъезд=n / (9*4)+1
этаж=(n-n / (9*4)*(9*4))/4+1

Я кажется понятно написал? Повторюсь, эта зависимость от ряда Фибоначчи, общее число бактерий = N * Число_Фибоначчи(К)
It's a long way to the top if you wanna rock'n'roll
n-номер квартиры
3. числа в строку и гонять строку пока длина не 1
str:=inttostr(day+mounth+year);
do
str:=Summa(str);
while (len(str)<>1)
Summa()
s=0;
for i=1 to len(str) do
s=s+val(str);
next i
return inttostr(s);
в общих чертах
3. числа в строку и гонять строку пока длина не 1
str:=inttostr(day+mounth+year);
do
str:=Summa(str);
while (len(str)<>1)
Summa()
s=0;
for i=1 to len(str) do
s=s+val(str);
next i
return inttostr(s);
в общих чертах
В 3ей...Я сначало должен сложить...1995+5+2=2002...После надо щемить эти 2ки...Ток вот как?
Счастливость (рекурсивно)
Код: Выделить всё
function happy(s:string): integer;
var sum, i: integer;
begin
if length(s)=1 then
begin happy:=ord(s[1])-ord('0'); exit; end;
sum:=0;
for i:=1 to length(s) do
sum:=sum+ord(s[i])-ord('0');
happy:=happy(inttostr(sum));
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.