vfilina
?>

Напишите процедуру на с++. котрая выводит на экран запись переданного ей числа в римской системе счисления

Информатика

Ответы

saveskul84
В C++ так называемых процедур как бы и нету. Есть функция возвращаемая void (ничего)

Код для 10 обозначений:

#include "stdafx.h"
#include <iostream>
using namespace std;
void printResult()
{
          string slist[10] = { "I", "II", "III", "IV", "V", "VI", "VII", "VII", "IX", "X" };
          int input = 0;
          cin >> input; cout << slist[input - 1].c_str() << "\n";
          system("pause");
}
int main()
{
           printResult(); return 0;
}
Maionova

Меньше чем 3-х основание СС быть не может. (Сама догадайся почему ;-)  

 

Делим:  

 

23 : 3 = 7 ост. 2 — подходит  

23 : 4 = 5 ост. 3 — не подходит  

23 : 5 = 4 ост. 3 — не подходит  

23 : 6 = 3 ост. 5 — не подходит  

23 : 7 = 3 ост. 2 — подходит  

23 : 8 = 2 ост. 7 — не подходит  

23 : 9 = 2 ост. 5 — не подходит  

23 : 10 = 2 ост. 3 — не подходит  

23 : 11 = 2 ост. 1 — не подходит  

23 : 12 = 1 ост. 11 — не подходит  

23 : 13 = 1 ост. 10 — не подходит  

23 : 14 = 1 ост. 9 — не подходит  

23 : 15 = 1 ост. 8 — не подходит  

23 : 16 = 1 ост. 7 — не подходит  

23 : 17 = 1 ост. 6 — не подходит  

23 : 18 = 1 ост. 5 — не подходит  

23 : 19 = 1 ост. 4 — не подходит  

23 : 20 = 1 ост. 3 — не подходит  

23 : 21 = 1 ост. 2 — подходит  

23 : 22 = 1 ост. 1 — не подходит  

23 : 23 = 1 ост. 0 — не подходит  

 

Далее для всех СС больше 23 остаток будет 23. Следовательно нет смысла их рассматривать.  

 

Итого: 2, 7 и 21.

mariia39

"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?


про пятеричные записи ничего не понял...  :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию

var x,a,b: longint;


begin

   for var i := 999 DownTo 100 do begin

       a := 0;

       b := 1;

       x := i;

       while x>0 do begin

           if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);

           x := x div 5;

       end;

       if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);

   end;

end.


прога проводит расчет для всх трехзначных чисел от 999 до 100

итого мы видим что максимальное подходящее число это 960

при необходимости прогу можно переделать чтобы она находила только максимальное число.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите процедуру на с++. котрая выводит на экран запись переданного ей числа в римской системе счисления
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

pravovoimeridian
margarita25061961
Natalya1895
ИП-Сысоев1628
annaan-dr582
Ushakova Sakhno
Mexx9050
ksoboleva
dmitrievanata83538
Дмитрий_Владимирович1162
Микроволновые системы что это​
Shtorm-Shoe
Полковников_Милана
natalia-shelkovich
tenvalerij
ПодлеснаяМакарова1883