USES CRT;
VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;
BEGIN
ClrScr;
ReadLn(n);
m1:=n;
n1:=m1 div 100;
n2:=m1 mod 10;
n3:=(m1-n1*100-n2) div 10;
if n1=n2 then if n1=n3 then writeln('vse =');
if n1=n2 then writeln('1 i 3 =');
if n2=n3 then writeln('2 i 3 =');
if n1=n3 then writeln('1 i 2 =')
else writeln('<>');
END.
Проверяйте, что непонятно - спрашивайте.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
Всего хорошего.
Еще в глубокой древности некоторые военачальники, следуя обычаю, не позволяли своим подчиненным казнить пленных, приказывали щадить женщин и детей, запрещали отравлять колодцы. Эти обычаи со временем оформились в нормы обычного права, которыми руководствовались противоборствующие стороны. В ряде случаев воюющие заключали письменные соглашения о соблюдении правил гуманного обращения с противником. Однако вплоть до второй половины XIX века такие соглашения не носили всеобщего характера и, как правило, действовали лишь во время одного сражения или одной войны.
Объяснение:
ВОЗМОЖНО ЭТО НЕ ПРАВИЛЬНО
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу на языке с++(со всеми объяснениями ) написать функцию, которая возвращает 1, если число, полученное в качестве аргумента, является простым, и ноль – в противном случае.
#include <iostream>
using namespace std;
int F(int n) // сама функция
{
if(n<2) return 0; // простые числа начинаются от 2
if(n==3) return 1; // число 3 - простое
bool found = (n % 2 == 0); // если число четное, делитель найден
int p = 3;
while((!found) && (p*p <= n)) // цикл поиска делителя
{
found = (n % p == 0); // найден ли делитель
p+=2; // следующий делитель для проверки
}
return !found;
}
int main() // тестовая программа
{
int k;
cin >> k; // ввод числа
cout << "Result: " << F(k); // тестируем функцию
return 0;
}