<u>PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var a:=ReadReal('Введите число:');
var k:=ReadInteger('Введите величину сдвига десятичной точки:');
a:=a*10**k;
a.Println
end.
<u>Примеры</u>
Введите число: 12345.09876
Введите величину сдвига десятичной точки: -3
12.34509876
Введите число: 345.09876
Введите величину сдвига десятичной точки: 4
3450987.6
Введите число: 12345.09876
Введите величину сдвига десятичной точки: 8
1234509876000
Введите число: 12345.09876
Введите величину сдвига десятичной точки: 15
1.234509876E+19
Введите число: 1.23456789e-10
Введите величину сдвига десятичной точки: -25
1.23456789E-35
101110101 = 373
10111 = 23
Здесь тот же принцип, что и с обычными цифрами. Нужно записать в столбик эти числа и произвести с ними действия (в данном случае сложение и вычитание).
Чтобы сложить или вычесть из одного числа другое, нужно недостающие цифры заполнить нулями.
Т.к. первое число состоит из 9 цифр, а второе из 5 цифр, то ко второму числу слева приписываем 4 нуля.
Теперь можно вычитать и складывать:
101110101 - 000010111 = 101011110 = 350
При этом нужно запомнить, если у числа занимаем, то занимаем 2, а не 1. Например, 110 - 001. От нуля же нельзя вычесть 1, значит нужно занять у соседней единицы. У себя на черновике получаем: 102 - 001, затем вычитаем и получаем результат равный 101 = 5.
Отвлекся. Осталось сложить.
101110101 + 000010111 = 110001100
Тоже нужно запомнить: при сложении, если складываются 1 и 1, то записываем 0 и запоминаем 1. Например, возьмем числа: 101 + 011 = 1000. При сложении последних получаем 0 и 1 в уме, затем 1+0 и еще +1 в уме получаем 0 и 1 снова в уме, затем 0+1 и еще +1 в уме получаем 0 и 1 в уме, который складывается с нулем (т.к. говорилось выше, что если не хватает чисел, то добавляем нули). Вот и все.
Можно ещё проверять четность, но этот способ будет проще:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; i += 2)
{
cout << i << endl;
}
system("pause");
return 0;
}