Вопрос: Найти сумму четных чисел натурального ряда, начиная с числа n до m
Найти сумму четных чисел натурального ряда, начиная с числа n до m(m и n вводит пользователь).
Ответ: Без циклов:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
n, m, sum: integer;
begin
sum := 0;
repeat
writeln('Введите числ с которого начинается ряд');
readln(n);
writeln('Введите число которым заканчивается ряд');
readln(m);
until n
1)
Program hhh54;
var x:longint;
begin
read (x);
if ((x div 100) + ((x div 10) mod 10) + (x mod 10)) mod 2 <> 0 then write ('ЯВЛЯЕТСЯ')
else write ('НЕ ЯВЛЯЕТСЯ');
end.
2)
а)
Progran hhh54;
var i,k,x:longint;
begin
k:=0;
read (x);
while x <> 0 do
begin
if (x mod 10 = 6) and (x mod 4 = 0); then k:=k+1;
read (x);
end;
write (k);
<span>end.
</span>
б)
Progran hhh54;
var i,s,x:longint;
begin
s:=0;
read (x);
while x <> 0 do
begin
if (x mod 10 = 6) and (x mod 4 = 0); then s:=s+x;
read (x);
end;
write (s);
end.
1. 320 * 480 * 16 = 2457600 бит.
2457600 : 8 = 307200 байт.
307200 : 1024 = 300 КБ
2. 2,5 МБ = 20971520 бит.
<span>2684354560 б = 2,5 ГБ.
</span>
Var
n,S:integer;
Begin
S:=0;
Write('n = ');ReadLn(n);
repeat
n:=n div 10;
S:=S+n mod 10;
until n = 0;
WriteLn(S)
End.
Ответ:
#include <iostream>
unsigned long reverse(unsigned long n, unsigned long& summa)
{ // n - передается по значению, summa - по ссылке, чтобы возвратить ее значение
int r, ni, nn, d;
r = nn = ni = summa = 0; // обнулить все эти переменные
nn = n;
d = 1;
while (nn >= 10) { // цикл расчета множителя d
d *= 10; // d = d * 10
nn /= 10; // nn = nn / 10
}
nn = n;
while (nn > 0) {
ni = nn % 10; // остаток от деления - получаем последнюю цифру
r += ni * d; // сохраняем ее умноженной не множитель r = r + ni * d;
summa += ni; // суммирование этой цифры symma = summa + ni
d /= 10; // уменьшение множителя
nn /= 10; // отбрасывание последней цифры
}
return r;
}
using namespace std;
int main()
{
unsigned long n, r, s;
setlocale(LC_ALL, "russian");
cout << "Введите число: ";
cin >> n;
r = reverse (n, s);
cout << r << " " << s;
}