2) Считаем nRewardCoinYear:
(0.03125 / 1.16394928) ^ (1 / 3) = 0.2994369
Принимаем равным 0.30
Извини, но так делать нельзя. То что дальше сотой отбрасывается, а не округляется:
nRewardCoinYear = min((nRewardCoinYear / CENT) * CENT, MAX_MINT_PROOF_OF_STAKE);
https://github.com/novacoin-project/novacoin/blob/b032c4a33e27deebe9210347048998ecc4624ee4/src/main.cpp#L1122Мысли вслух: а вообще я бы сдвинул это округление на один знак вправо, до промилле. Ибо в будущем разница между, к примеру 3% и 4% может заставить в цикле после каждого нового блока включать/выключать майнинг, пытаясь подловить момент более удобный для чеканки блока с финансовой точки зрения.
Или, как вариант, оставить только два значащих знака, а-ля: 99%-10%, 9,9%-1,0%, 0,99%-0,10%..
К моменту когда будет 3-4%% монеты должны больше использоваться для переводов, потому что процент уже не интересный.
Нужно развивать использование монет.