Дано натуральное число M. Написать алгоритм, который разбивает это число на три приблизительно равных между собой натуральных числа.
Паскаль
#define M 100 // число
typedef unsigned int uint;
int main()
{
uint num[3];
for (int i = 0; i < 2; i++)
if ((double)M / 3 - M / 3 > 0.5)
num[i] = M / 3 + 1;
else
num[i] = M / 3;
num[2] = M - num[0] - num[1];
return 0;
}
// PascalABC.NET 3.4, сборка 1766 от 25.08.2018
begin
var n := ReadInteger('n->');
var (k, m) := (n mod 3, n div 3);
Println(k
end.
Я считаю, что давая ответы, одновременно учим, как надо писать, как лучше.
Проверок может и меньше, а вычислений больше намного
Ну да)
Можно тут вообще сделать форматную строку с $
Будет изящно и непонятно непосвященным.
С тернарным внутри, или что?
Или я чего-то о форматной строке не знаю?
Чего-то пока не знаете )))
В MSDN по C# - интерполированные строки
Вот... теперь хорошо. Покажем этим "сишникам", что им тут не тягаться))))