欧拉计划17题 matlab 学习笔记 数字转英文表述

clc,clear,
tic
sum = 0;
for i = 1:1000
    trans = num2words(i);   %将阿拉伯数字123...转换成英文
    trans(find(isspace(trans)))=[]; %找到并去除空格空格
    trans(strfind(trans,'-')) = []; %找到并去除连接号“-”
    a = length(trans);   %求长度
    sum = sum+a; 
end
sum 
toc

答案: 21124

num2words

https://www.mathworks.com/matlabcentral/fileexchange/47221-number-to-words
matlab 社区找到的函数,把阿拉伯数字转换成英文字母(也有反向函数,里面很详细)
例:
num2words(1024)
ans = ‘one thousand and twenty-four’
num2words(-1024)
ans = ‘negative one thousand and twenty-four’

你可能感兴趣的:(欧拉计划17题 matlab 学习笔记 数字转英文表述)