Если верить Wiki, микропроцессор КР580ВМ80А - аналог Intel i8080A.
На страничке с описанием i8080 утверждается, что INR reg - инкремент (увеличение на единицу) регистра. В данном случае рассматривается увеличение регистра B со значением 0xFF на единицу. У процессоров серии i80386 есть схожая команда - INC.
По всей вероятности, признаки в КР - то же, что и флаги в i8080. Тогда можно провести аналогию КР - i8080:
CY - CF (перенос)
AC - AF (полуперенос)
S - SF (знак)
Z - ZF (нуль)
P - PF (чётность)
Выполнение команды INC BH (на Intel, BH - 8-битный, как и B в КР) с значением 0xFF даёт 0 в регистре BH и устанавливает в единицу ZF, PF, AF (соотв. признаки Z, P, AC), остальные флаги не меняются.
Если верить Wiki, микропроцессор КР580ВМ80А - аналог Intel i8080A.
На страничке с описанием i8080 утверждается, что INR reg - инкремент (увеличение на единицу) регистра. В данном случае рассматривается увеличение регистра B со значением 0xFF на единицу. У процессоров серии i80386 есть схожая команда - INC.
По всей вероятности, признаки в КР - то же, что и флаги в i8080. Тогда можно провести аналогию КР - i8080:
CY - CF (перенос)
AC - AF (полуперенос)
S - SF (знак)
Z - ZF (нуль)
P - PF (чётность)
Выполнение команды INC BH (на Intel, BH - 8-битный, как и B в КР) с значением 0xFF даёт 0 в регистре BH и устанавливает в единицу ZF, PF, AF (соотв. признаки Z, P, AC), остальные флаги не меняются.
За правильность решения не ручаюсь.
Вопрос скорее будет звучать "как много могли съесть толстяки?".
#include <iostream>
using namespace std;
int main() {
int multiplier = 1;
float weightCake = 0;
float t1(0), t2(0), t3(0);
float t1Cakes(0), t2Cakes(0), t3Cakes(0);
cout << "Weight of cake, fat people 1-3: ";
cin >> weightCake; cin >> t1; cin >> t2; cin >> t3;
while(1) {
t1Cakes = multiplier * weightCake * 1;
if(t1Cakes > t1/2) {
cout << multiplier - 1;
break;
}
t2Cakes = multiplier * weightCake * 2;
if(t2Cakes > t2/2) {
cout << multiplier - 1;
break;
}
t3Cakes = multiplier * weightCake * 4;
if(t3Cakes > t3/2) {
cout << multiplier - 1;
break;
}
++multiplier;
}
}