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