Программа 9 раз вычитает из s число 3.
Поэтому s=50-9*3=23
Если все расписывать по шагам:
k=1;
s=50-3=47
k=2
s=47-3=44
k=3
s=44-3=41
k=4
s=41-3=38
k=5
s=38-3=35
k=6
s=35-3=32
k=7
s=32-3=29
k=8
s=29-3=26
k=9
s=26-3=23
Ответ: 23
#inclued<bits/stdc++.h>
using namespace std;
int main()
{int d,m;
cin>>d>>m;
if (m==1)
{if (d>=20)
cout<<"vodoleey";
else cout<<"kozerog";}
if (m==2)
{if (d>=19)
cout<<"ribi";
else cout<<"vodoley";}
if (m==3)
{if (d>=21) cout<<"oven";
else cout<<"ribi";}
if (m==4)
{if (d>=20)
cout<<"telec";
else cout<<"oven";}
if (m==5)
{if (d>=21)
cout<<"blizneci";
else cout<<"telec";}
if (m==6)
{if (d>=22)
cout<<"rac";
else cout<<"blizneci";}
if (m==7)
{if (d>=23)
cout<<"lev";
else cout<<"rac";}
if (m==8)
{if (d>=23)
cout<<"deva";
else cout<<"lev";}
if (m==9)
{if (d>=23) cout<<"vesi";
else cout<<"deva";}
if (m==10)
{if (d>=23)
cout<<"scorpion";
else cout<<"vesi";}
if (m==11)
{if (d>=23)
cout<<"strelec";
else cout<<"scorpion";}
if (m==12)
{if(d>=22)
cout<<"kozerog";
else cout<<"strelec";}
return 0;
}
Программа вылетает т.к. много значений перебирает, если не хочется подобного просто смените ограничение.
var i,a,b,c,d:integer;
begin
for i:=1000 to 9999 do begin
a:=i mod 10;
b:=(i div 10) mod 10;
c:=(i div 100) mod 10;
d:=(i div 1000) mod 10;
if (a=b) and (b=c) and (c=d) then writeln ('odinakovie cifri - ',i);
if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and (c<>d) then writeln('ne odinakovie cifri - ',i);
end;
сколько кружочков в числе, то есть в 8 два кружка и число 8888 - 8 кружков, и число 8 в числе с вопросами, значит ответ - 2