PDA

Просмотр полной версии : незнайка ABC


Shkiper2009
14.06.2010, 17:47
незнайка учит иностраные слова следушим образом. если число кратное трем, является вторником , четвергом
или соботой, то он учит 3 испанских и 1 англиское слово. если число месяца , кратное трем, - другой день недели,
то он учит 2 англиских и 4 немецких слов. по числам, которые при делении на 3 дают в остатке 1, он учит 1 испанское , 1 англиское
и 5 немецких слов . по астольным числам месяца незнайка учит 2 испанских, 4 англиских, и 1 немецкое слова. напишите
программу, подсчитывающую сколько слов в июне выучит незнайка, если 1 июня была среда.

помогите плиз...
icq:448-772-688

AGIMgal
14.06.2010, 21:50
program neznayABC;
var i,s:integer;
begin
s:=0;
for i:=1 to 30 do begin
if ((i)mod(3)=0) and (i=2) and (i=4)and((i)mod(7)=0)and((i)mod(7)=2)and((i)mod(7) =4) then s:=s+4 ;
if ((i)mod(3)=0) and ((i)mod(2)<>0) then s:=s+6 ;
if (i)mod(3)=1 then s:=s+7 else s:=s+7;
end;
writeLN('всего незнайка выучит ',s,' слов') ;
end.

вроде работает, это 939512398

Xnamed
14.06.2010, 22:55
#include <iostream>
using namespace std;
bool ned(int);

int main()
{
int i, sum=0;
for(i=1;i<=30;i++)
{
if(i%3==0 && ned(i)) sum+=4;
else
if(i%3==0 && !ned(i)) sum+=6;
else
if(i%3==1) sum+=7;
else sum+=7;
}

cout<<sum<<endl;
return 0;
}

bool ned(int x)
{
int k=0, h=0;
while(1>0)
{
if(x%7==0 || x==2+k || x==5+h) return true;
else
{
if(k>25 || h>25) return false;
k+=7;
h+=7;
}
}
}

как-то так)))

AGIMgal
15.06.2010, 08:25
это какой язык? просто если задача поставлена немного по детски, наверно надо в паскале писать.ИМХО.

Xnamed
15.06.2010, 10:10
это с++