현재 위치 - 대출자문플랫폼 - 신용 카드 기술 - 이웃 세 ABC의 나이를 곱하면 2450입니다. 세 이웃 ABC의 합은 B의 두 배입니다. 세 이웃 ABC는 모두 A보다 어립니다. 다섯 사람의 나이는 몇 살입니까?

이웃 세 ABC의 나이를 곱하면 2450입니다. 세 이웃 ABC의 합은 B의 두 배입니다. 세 이웃 ABC는 모두 A보다 어립니다. 다섯 사람의 나이는 몇 살입니까?

A는 50세, B는 32세, A, B, C는 각각 5세, 10세, 49세이다.

코드는 다음과 같습니다:

bool Age::mul(int a, int b, int c)

{

return (a *b*c==2450);

}

bool Age::pls(int a, int b, int c)

{

return (a b c)2==0;

}

void Age:: arth()

{

typedef pairlt; int, agegt;

int tmp, ave, hit

for(age_t.a=1;age_t.alt;=2450;age_t. a)

for(age_t.b=1;age_t.blt;=age_t.a;age_t.b)

for(age_t.c=1;age_t.clt;= age_t.b ;age_t.c ){

if(mul(age_t.a,age_t.b,age_t.c) amp;amp; pls(age_t.a,age_t.b,age_t.c) ){

ave=(age_t.a age_t.b age_t.c)/2;

m_age.insert(Pair(ave,age_t));

}

}

m_iter=m_age.begin();

while(true){

tmp=m_age.count( m_iter-gt ;first);

if(tmpgt;1 || m_iter==m_age.end()){

hit=m_iter-gt;first;

중단;

}

m_iter;

}

for(m_iter=m_age.begin(); m_iter!= m_age.end (); m_iter ){

if (hit==m_iter-gt; first){

coutlt;lt;"A may "lt;lt;m_iter-gt ;두 번째.alt;lt;" 세"lt;lt;endl;

coutlt;lt;"B는 "lt;lt;m_iter-gt;second.blt;lt;" 세"일 수 있습니다. lt;lt ;endl;

coutlt;lt;"C는 "lt;lt;m_iter-gt;second.clt;lt;" 세"lt;lt;endl;

coutlt ;lt;"Bis "lt;lt;m_iter-gt;firstlt;lt;" 세"lt;lt;endl;

coutlt;lt;endl;

}

}

}

실행 결과는 다음과 같습니다.

A may 49세

B는 10세일 수 있음

C는 5세일 수 있음

B는 32세일 수 있음

A는 50세일 수 있음

B 5월 7세

C는 7세일 수 있다

B는 32세

그리고 A B C는 모두 A보다 어리다. A가 50세 이상이면 위의 결과 2개 확실하지 않음. 따라서 A는 50세여야 하며 첫 번째 상황은 요구 사항을 충족합니다. 따라서 A는 50세, B는 32세, A B C는 각각 5세, 10세, 49세입니다.

copyright 2024대출자문플랫폼