Согласно алгоритму из блок-схемы, пока не получен ноль, число надо делить на 2, если оно четное, и отнимать 1, если нечетное. Проделываем это:
500 (четное) -> 250 (четное) -> 125 (нечетное) -> 124 (четное) -> 62 (четное) -> 31 (нечетное) -> 30 (четное) -> 15 (нечетное) -> 14 (четное) -> 7 (нечетное) -> 6 (четное) -> 3 (нечетное) -> 2 (четное) -> 1 (нечетное) -> 0
Чтобы получить из нуля 500, нужно пойти в обратном порядке: 0 -> 1 -> 2 -> 3 -> 6 -> 7 -> 14 -> 15 -> 30 -> 31 -> 62 -> 124 -> 125 -> 250 -> 500
Для 1024 всё проще:
От 1024 до 0: 1024 -> 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 -> 0 (на всех шагах кроме последнего число уменьшается в 2 раза, на последнем уменьшается на 1)
В обратную сторону 0 -> 1 -> 2 -> 4 -> ... -> 512 -> 1024 (на первом шаге число увеличивается на 1, затем 10 раз увеличивается в 2 раза)
#include <stdio.h>
#include <string.h>
<span>main ( ) {
</span>
char stroka [100] ;
long int n ;
printf ("vvedi chislo n=" ) ;
scanf ( "%ld" , &n ) ;
sprintf ( stroka , "%ld" , n ) ;
printf ("dlina stroki=%d\n" , strlen ( stroka ) ) ;
printf ( "%s\n" , stroka ) ;
}
Ответ:2175 кб
Объяснение: За 40 сек. Передается файл размером 1450 КБ, значит надо 1450:40, этим действием мы получим скорость соединения и эту скорость мы умножаем на 60 сёк и получаем 2175 КБ.!
1) "Дарья" (первая согласная и последняя гласная).
2) Считаем: 2, 4, 4, нужно ещё одна 2 => вариант 4) C1/3.
program summa;
var a,b,c,d,s:integer;
begin
write('Введите первое число: ');
readln(a);
write('Введите второе число: ');
readln(b);
write('Введите третье число: ');
readln(c);
write('Введите четвертое число: ');
readln(d);
s:=a+b+c+d;
write('Сумма равна: ',s);
end.