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

З-7

Задачи на целые числа без использования цикла

Дано четырехзначное целое положительное число. Определить содержит, ли это число ровно три одинаковые цифры.

Во-первых выделим все цифры. Всего существует 4 комбинации равенства только трех цифр: 1-ая,2-ая,3-я равны между собой, но не равны 4-ой или 1-ая,2-ая,4-ая равны между собой и не равны 3-ей или 1-ая,3-я,4-ая равны между собой и не равны 2-ой  или 2-ая,3=я,4-ая равны между собой и не раны 1-ой. Проведем сравнение согласно этим вариантам.

 

Program A1_7;

var

n,a,b,c,d:integer;;

begin

 readln(n);

 a:=n mod 10;

 b:=(n div 10) mod 10;

 c:=(n div 100) mod 10;

 d:=(n div 1000) mod 10;

  if (a=b)and(a=c)and(a<>d)or

     (a=b)and(a=d)and(a<>c)or

     (a=c)and(a=d)and(a<>b)or

     (b=c)and(b=d)and(b<>a)

   then writeln ('YES')

   else writeln ('NO');

 readln;

end.

//Program A1.7

#include <iostream>

 

using namespace std;

 

int main()

{   int n,a,b,c,d;

    cin>>n;

    a=n%10;

    b=(n/10)%10;

    c=(n/100)%10;

    d=(n/1000)%10;

    if((a==b && a==c && a!=d) ||

        (a==b && a!=c &&  a==d) ||

        (a!=b  && a==c && a==d) ||

        (a!=b  && b==c && b==d) )

             cout << "YES\n" ;

     else cout<<"NO\n";

    return 0;

}