题目链接:https://projecteuler.net/problem=17
出题人再无聊一点?
代码:
#include<bits/stdc++.h>
using namespace std;
string num1[]={"","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
string num2[]={"","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int ans=0;
string tmp;
for(int i=1;i<1000;i++)
{
int now=i;
tmp.clear();
if(now>=100)
{
tmp+=num1[now/100];
tmp+="hundred";
if(now%100)
tmp+="and";
}
now%=100;
if(now>=20)
{
tmp+=num2[now/10];
now%=10;
if(now>0)
tmp+=num1[now];
}
else if(now>=10)
{
tmp+=num1[now];
}
else
{
tmp+=num1[now];
}
ans+=tmp.size();
}
ans+=11;
printf("%d\n",ans);
return 0;
}