М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Luikas45676345
Luikas45676345
07.07.2021 06:05 •  Информатика

Задача №112228. Простые числа Напишите программу, которая вводит натуральные числа a и b и выводит все простые числа в диапазоне от a до b .

Входные данные
Входная строка содержит два натуральных числа, a и b . Гарантируется, что a ≤ b .

Выходные данные
Программа должна вывести в одной строке через пробел все простые числа на отрезке [ a , b ] . Если таких чисел нет, программа должна вывести 0.

в

👇
Ответ:
valentinasopina
valentinasopina
07.07.2021

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

void show_vector(vector <unsigned int> a)

{

   for (unsigned int i = 0; i < a.size() - 1; i++)

       cout << a[i] << " ";

   cout << a.back() << endl;

}

       

bool f_prostoe(unsigned int x)

{

   bool prostoe = true;

   for(unsigned int i = 2; i <= int(sqrt(x)); i++)

   {

       if (x % i == 0)

       {

           prostoe = false;

           break;

       }

   }

   return prostoe;

}

int main()

{

   bool pustoi = true;

   vector <unsigned int> chisla = {0};

   cout << "Введите диапазон, вначале min, затем max." << endl;

   cout << "min = ";

   unsigned int x;

   cin >> x;

   cout  <<"max = ";

   unsigned int y;

   cin >> y;

   for(x = x; x <= y; x++)

   {

       if(f_prostoe(x))

       {

           if (pustoi)

           {

               pustoi = false;

               chisla.pop_back();

           }

           chisla.push_back(x);

       }

   }

   cout << "Простые числа: " << endl;

   show_vector(chisla);

   return 0;

}

Объяснение:

В коде есть костыли, но он работает.

4,4(63 оценок)
Открыть все ответы
Ответ:
zaika787
zaika787
07.07.2021

var a, b, c: integer;  //инициализация переменных (длин отрезков)

begin  //Начало программы (тело программы)

   write (' Длины сторон: ');  //Вывод сообщения в консоль

   readln (a,b,c);  //Организация ввода (длин отрезков)

   if (a <= b+c) and (b <= a+c) and (c <= a+b) then  //В условии if проверяется, что каждая из сторон меньше либо равна сумме других. Если хотя бы одна будет больше, то все логическое выражение вернет ложь (false). В таком случае сработает ветка else.

       writeln ('Треугольник существует.')

   else

       writeln ('Треугольник не существует.');

readln(); //Инициализация закрытия по нажатию на кнопку

end. //Конец программы

Объяснение:

4,6(20 оценок)
Ответ:
priss666
priss666
07.07.2021
Var a,b,c,angA,angB,angC,cs: real;
    s: string;
begin
  write('длины сторон через пробел:  ');
  readln(a,b,c);
  if (a+b>c) and(a+c>b) and (c+b>a) then
  begin
    cs:=(sqr(a)+sqr(b)-sqr(c))/(2*a*b);
    angC:=360*ArcCos(cs)/(2*pi);
    writeln('угол С = ',angC:4:2);
    cs:=(sqr(a)+sqr(c)-sqr(b))/(2*a*c);
    angB:=360*ArcCos(cs)/(2*pi);
    writeln('угол B = ',angB:4:2);
    angA:=180-angB-angC;
    writeln('угол A = ',angA:4:2);
    if (angA<90) and (angB<90) and (angC<90) then
       s:='треугольник остроугольный';
    if (angA>90) or (angB>90) or (angC>90) then
       s:='треугольник тупоугольный';
    if (sqr(a)+sqr(b)=sqr(c)) or (sqr(a)+sqr(c)=sqr(b)) or 
      (sqr(b)+sqr(c)=sqr(a)) then
       s:='треугольник прямоугольный';
       writeln(s);
     end
  else writeln('треугольник составить нельзя');
end.
    
4,6(55 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ