iİnformatikanın məktəbdə tədrisi

7-2r

Для последовательности натуральных чисел  определить количество членов этой последовательности являющихся квадратами четных чисел

Для того, чтобы узнать, является ли число a квадратом четного числа выполним следующие действия:
1) a должно быть четным (четное число в квадрате – четно)
2) Округленное до ближайшего целого число sqrt(a) (корень квадратный из a) в квадрате должно быть равно a.
3) Если эти два условия выполнены, то наше число a является квадратом некоторого четного числа. 
          В программе эти проверки осуществляются в строках 13 - 16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

Program A7_02;

Var

 f:text;

 a,b,k:integer;

 BEGIN

  assign(f,'in7_02.txt'); reset(f);

  if IoResult<>0 then

   begin writeln('Net faila'); exit; end;

   k:=0;

   while(not EOF(f)) do

     begin

       readln(f,a);

       if (a mod 2=0) then

       begin

         b:=round(sqrt(a));

         if (b*b=a) then INC(k);

       end;

     end;

   close(f);

   writeln(k);

   readln;

 END.

// Program A7_02;

#include <iostream>

#include <fstream>

#include <cmath>

 

using namespace std;

 

int main()

{  ifstream f;

int a,b,k=0;

    f.open("in7_02.txt");

    if (!f) { cout<<"net faila\n"; return -1;}

    while(f>>a)

    {

       if(a%2==0)

       {

           b=(int)round(sqrt(a));

           if(b*b==a)k++;

       }

    }

       f.close();

       cout<<k<<endl;

    return 0;

}