Дано четырехзначное целое положительное число. Определить содержит, ли это число ровно три одинаковые цифры.
Во-первых выделим все цифры. Всего существует 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; } |