Язык с программированием. Заранее Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Сколько сантиметров в сантикилометре?
Это не совсем абракадабра, можно посчитать.
Приставка санти- означает деление на 100, приставка кило- – умножение на 1000. Значит, в сантикилометре 10 метров. А в метре – 100 сантиметров. Получаем ответ: в одном сантикилометре 1000 сантиметров.
Напишите программу, которая будет переводить такие странные единицы измерения – может быть много приставок санти- и много кило- – в сантиметры.
Формат ввода
Вводится слово, состоящее из произвольного количества приставок санти- и кило-, последним идет слово метр.
Формат вывода
Если получается целое число, то его и нужно выводить. Если получается дробь, то ее нужно выводить в виде:
1/<единица и необходимое количество нулей>.
Пример 1
Ввод сантикилометр
Вывод 1000
Пример 2
Ввод сантисантикилокилометр
Вывод 10000
Пример 3
Ввод
Вывод 1/1000
Примечания
В задаче нельзя использовать индексацию, срезы и методы строк.
I=k*i
I=32*32*35*8/8*1024*1024=35 Кб
ответ 4.
Если тебе интересно, как можно посчитать без калькулятора, то оставь комментарий под этим ответом, я тебе объясню
Необходимо представить все данные в виде двойки в N степени: страницы, строки, символы, кодировка.
32 - это 2^5 степени, вы должны были учить на первых уроках информатики значение двойки от 1 степени до 10.
35 - в степени двойки не представляется, оставим так. Ее будем умножать с остальными цифрами.
8 бит - 2^3
Формула нахождения информационного объема I=k*i
k - кол-во символов, i - кодировка
Подставляем I=2^5+2^5*35+2^3
При умножении степеней с одинаковым основанием основание остается прежним, показатели складываются
I=2 в 13 степени *35 Бит
Переведем в байт. В 1 байте - 8 бит, это 2^3 степени, следовательно отнимем 3 от нашей степени
I=2 в 10 степени *35
Переведем в Кбайт.
В 1 кбайте - 1024 байт. А 2^10 это 1024. Отнимаем
I=35
Осталось 35, так как степени ушли, а любое число в нулевой степени равно 1
Вот так получилось 35 Кбайт.
#include<conio.h>
int Socr(long long int a, long long int b, long long int *p, long long int *q)
{
long long int d;
int c = 0;
if (a)
{
if((float)a/b<0)
{
if(a<0) a=-a;
if(b<0) b=-b;
c = 1;
}
for(d = (a>b?b:a); (a%d!=0||b%d!=0); d--);
if (c) *p = -a / d;
else *p = a / d;
*q = b / d;
}
else
{
*p = 0;
*q = 1;
}
return 0;
}
int main(int argc, char *argv[])
{
long long int a = 1, b, p = 1, q = 1;
for(b = 2; b < 21; b++)
{
printf("%lli/%lli + 1/%d = ",p,q,b);
Socr(p*b+q,q*b,&p,&q);
printf("%lli/%lli\n",p,q);
}
getch();
}