підрахувати суму всіх натуральних чисел, які діляться на 3 і не перевищють деякого числа N.

паскаль, цикл for.

думаю, будет примерно так:

program zad;

var i,r,n:integer;

begin

writeln ('введіть число n');

readln(n);

for i:=i<n and (i mod 3=0) do

begin writeln (r:=...);

end;

readln;

end.

не знаю как найти сумму

1

Ответы и объяснения

2012-11-07T18:27:10+00:00

Решалось примерно следующим образом:

Объявить две переменные для числа n и суммы чисел. А хотя нет. Надо три(ещё управляющая переменная для for)

Ввести число n

Зная, что натуральные числа - это все числа от единицы, создаём цикл for с таким условием: управляющая переменная i = 1, i < n i++(увеличить на 1)

(на паскале будет примерно так:

for i := 1 to (n - 1) do

   begin

      ................

   end;

)

Далее в теле цикла сделать условие: если i делится без остатка, то прибавить это число к переменной для суммы чисел(которая в начале равна 0)

Ну и в конце вывести сумму.

 

Вот вариант на C++

 

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
   int n, total = 0;

   cout << "Enter the number: ";
   cin >> n;

   for(int i = 1; i < n; i++)
   {
      if(i % 3 == 0)
      {
         total += i;
      }
   }

   cout << "Sum = " << total << endl;

   cin.get();
   return 0;
}

 

Вроде и на Паскале получилось:

 

program test;
var i, n, total:integer;
begin
  write('Enter n: ');
  readln(n);
  total := 0;
  for i := 1 to (n - 1) do
  begin
    if i mod 3 = 0 then
    total := total + i;
  end;
  writeln('sum = ', total);
readln();
end.