• Предмет: Информатика
  • Автор: YanaSokol2003com
  • Вопрос задан 7 лет назад

На помощь!!!
_____________

Составить программу, печатающую значение true, если указанное высказывание является истинным, и false в противном случае:

1. Сумма цифр данного трехзначного числа N является четным числом.
2. Квадрат заданного трехзначного числа равен кубу суммы цифр этого числа.
3. Треугольник со сторонами a, b, c является равнобедренным.

P. S. программа должна ОБЯЗАТЕЛЬНО работать!

Ответы

Ответ дал: Browze
0

#include <iostream>

#include <cmath>

#include <iomanip>

bool zad1(int N)

{

   int sum = 0;

   while(N > 0)

   {

       sum += N % 10;

       N /= 10;

   }

   return sum % 2 == 0;

}

bool zad2(int N)

{

   int sum = 0, tmp = N;

   while(N > 0)

   {

       sum += N % 10;

       N /= 10;

   }

   return std::pow(tmp, 2) == std::pow(sum, 3);

}

bool zad3(int a, int b, int c)

{

   return (a == b && b != c) || (a == c && a != b);

}

int main()

{

   int N, a, b, c;

   std::cin >> N >> a >> b >> c;


   std::cout.std::ios_base::setf(std::ios_base::boolalpha);


   std::cout << zad1(N) << std::endl

             << zad2(N) << std::endl

             << zad3(a, b, c) << std::endl;

   return 0;

}


Приложения:
Ответ дал: MrMiner1
0

Program n_1;

var x:integer;

begin

   readln(x);

   x:=(x mod 10) + ((x div 10) mod 10) + ((x div 100) mod 10);

   if (x mod 2 = 0) then writeln('true')

   else writeln ('false');

end.

(в программе 2 таких чисел не существует)

Program n_2;

var x, y:integer;

begin

   readln(x);

   y:=x*x;

   x:=(x mod 10) + ((x div 10) mod 10) + ((x div 100) mod 10);

   x:=x*x*x;

   if (x=y) then writeln('true')

   else writeln ('false');

end.


Program n_3;

var a, b, c:integer;

begin

   read(a, b, c);

   if (a=b) or (b=c) or (a=c) then writeln('true')

   else writeln ('false');

end.



Приложения:
Вас заинтересует