zoukankan      html  css  js  c++  java
  • 【JavaScript】7-23 币值转换 (20分)

    题目:

    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

    输入格式:

    输入在一行中给出一个不超过9位的非负整数。

    输出格式:

    在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

    输入样例1:

    813227345

    输出样例1:

    iYbQdBcScWhQdBeSf

    输入样例2:

    6900

    输出样例2:

    gQjB

    JavaScript代码:

    const { parse } = require('path')
    var readline = require('readline')
    
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
    })
    
    rl.on('line', function(line) {
        var n = line
        var ret = trans(n)
        console.log(ret)
    })
    
    function trans(n) {
        if (n === '0') return 'a'
        
        var zimu = ['a','b','c','d','e','f','g','h','i','j']
        var danwei = ['','','S','B','Q','W','S','B','Q','Y']
        
        var ret = ""
    
        for(let i = 0;i < n.length;i++) {       
            var flag = 0
            var skip = 0
            while(n[i] == '0' && i < n.length) {
                if ((n.length - 1 - i) % 4 == 0 && (n.length - 1 - i) != 0) {
                    ret += 'W'
                    skip = 1
                    break
                } else if ((n.length - 1 - i) % 8 == 0 && (n.length - 1 - i) != 0) {
                    ret += 'Y'
                    skip = 1
                    break
                } 
                i++
                flag = 1
            }
            
            if (skip == 1) {
                continue
            }
    
            if(i == n.length) {
                break
            } else if (flag == 1) {
                ret += 'a'
            }
            ret += zimu[n[i] - '0'] + danwei[n.length - i]
    
        }
    
        return ret
    }
  • 相关阅读:
    lintcode395-硬币排成线 II
    lintcode-394-硬币排成线
    lintcode-392-打劫房屋
    lintcode-391-数飞机
    lintcode-389-判断数独是否合法
    lintcode-387-最小差
    lintcode-384-最长无重复字符的子串
    lintcode-383-装最多水的容器
    lintcode-382-三角形计数
    爬虫笔记:初始爬虫(二)
  • 原文地址:https://www.cnblogs.com/moonskies/p/14328712.html
Copyright © 2011-2022 走看看