1 год, 144 года, 150 лет. Пойдёт?
Не вижу проблемы. Бери FPC любой версии. Программа очень легкая, там и думать особо не надо. Сложнее все это выразить в блок-схеме. В среде паскаля это делается просто. Просто массивы, просто условия, можно задать и бесконечность, если знать как. Ничего сложного.
Код на JavaScript, его нужно упростить и причесать. .
aDay = new Array("day","days","days");
aHour = new Array("hour","hours","hours");
aMinute = new Array("minute","minutes","minutes");
aSecond = new Array("second","seconds","seconds");
function _getNumDay(n,type)
{
var aNUM = null;
var number = "" + n;
if(type == "day") aNUM = aDay;
if(type == "hour") aNUM = aHour;
if(type == "minute") aNUM = aMinute;
if(type == "second") aNUM = aSecond;
//var aDay = new Array("день","дня","дней");
var lastNum = parseInt(number.charAt(number.length-1));
var lastNumDouble = 0;
if(number.length>1)
lastNumDouble = parseInt(number.charAt(number.length-2));
var day = "";
if(lastNum == 1) {day = aNUM[0];}
if((lastNum > 1)&&(lastNum < 5)) {day = aNUM[1];}
if((lastNum >= 5)||(lastNum == 0)||(lastNumDouble==1)) {day = aNUM[2];}
if(n==0) { day = ""; }
return day;
}
p.s.
Хотя для Лет может и не подойдет, но принцип остается тот же..
Обрабатывай в case последнюю цифру :
если 0, 5-9 то лет
если 1 то год
если 2-4 то года
Пишите на почту или в асю 586178755 решу все в кратчайшие сроки)
Поскольку автор не указал программу, то ответ Red Dead предлагаю считать лучшим