php 根据输入输出execl列【算法题】

Excel 的行计数为数字(左侧纵列,1、2、3、4 标记第 1、2、3、4 行),列计数为字母(表格区域上方横列,A、B、C、D 代表第 1、2、3、4 列,AA、AB 代表第 27、28 列等)。
请写一个函数,输入为数字 n(取值范围 1 - PHP_INT_MAX),输出为代表那一列的字母字符串(既 1 → A,2 → B,12 → L,27 → AA,123 → DS,1234 → AUL,12345 → RFU,...);

function getExcelColumn($num)
{
    static $excelColumn;
    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $index = $num % 26 - 1;
    $excelColumn = $str[$index] . $excelColumn;
    if (($num - $index) / 26 > 1) {
        return getExcelColumn(($num - $index) / 26);
    }
    return $excelColumn;
}

echo getExcelColumn(12345);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值