cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A167507 Number of letters in the French spelling of the number n, not counting hyphens and spaces.

This page as a plain text file.
%I A167507 #72 Jul 07 2022 08:45:06
%S A167507 4,2,4,5,6,4,3,4,4,4,3,4,5,6,8,6,5,7,7,7,5,9,9,10,11,9,8,9,9,9,6,10,
%T A167507 10,11,12,10,9,9,10,10,8,12,12,13,14,12,11,12,12,12,9,13,13,14,15,13,
%U A167507 12,13,13,13,8,12,12,13,14,12,11,12,12,12,11,12,13,14,16,14,13,15,15,15,12,13
%N A167507 Number of letters in the French spelling of the number n, not counting hyphens and spaces.
%C A167507 Sequence A007005 is a variant of this sequence, where spaces and hyphens are counted.
%C A167507 In most languages, there exists a number N after which all numbers are written with fewer letters than the number itself. In English, in German and in French, N = 4. Here, if n > 4, then a(n) < n, and if n <= 4, then a(n) > n. - _Bernard Schott_, Jan 11 2019
%H A167507 Wiktionnaire, <a href="http://fr.wiktionary.org/wiki/Annexe:Nombres_de_1_%C3%A0_100_en_fran%C3%A7ais">Annexe:Nombres de 1 à 100 en français</a> (as of Nov. 18, 2009).
%H A167507 <a href="/index/Na">Index entries for sequences related to names of numbers</a>
%e A167507 The terms a(0),...,a(16) represent the number of characters in the strings "zéro", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "neuf", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize".
%e A167507 Since spaces and punctuation are not counted, a(n) is less than the length of the character string whenever the spelling of n contains hyphens, as in "dix-sept" (a(17)=7), or spaces as in "vingt et un" (a(21)=9).
%o A167507 (PARI) apply( {A167507(n)=#[0|c<-Vecsmall(French(n)), c>96]}, [0..81]) \\ updated by _M. F. Hasler_, Feb 19 2020 [If old versions of PARI/gp give an error, use e.g. Vec(Vecsmall...).]
%o A167507 /* Helper function: spell out n in French. Extended to 10^24 (now further extensible via the 2nd optional argument) for A204593 on Feb 16 2012. */
%o A167507 French(n, t=[10^18,"trillion", /*10^15,"billiard",*/ 10^12,"billion", 10^9,"milliard", 10^6,"million"])={ if( n>999, n>=10^6*t[1] & error(n" is too large - this implementation is restricted to n < 10^",5+#Str(t[1])); forstep(i=1,#t,2, n\t[i] & return(Str(French(n\t[i])" "t[i+1], if(n\t[i]>1,"s",""), if(n%t[i],Str(" "French(n%t[i])),"")))); return(Str(if(n\1000>1,Str(French(n\1000)," "),""),"mille",if(n%1000,Str(" ", French(n%1000)),""))));
%o A167507 n<20 & return([ "zero","un","deux","trois","quatre","cinq","six","sept","huit","neuf", "dix","onze", "douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf"][n+1]);
%o A167507 n >= 100 & return( Str( if( n>199, Str(French(n\100)," "), ""), "cent", if(n%100,Str(" ",French(n%100)),if(n>199,"s","")/*deux cents*/)));
%o A167507 n > 80 & return( Str( "quatre-vingt-", French( n-80 )));
%o A167507 n%10==0 & return( Str( ["vingt","trente","quarante","cinquante","soixante", "soixante-dix","quatre-vingts"][n\10-1] ));
%o A167507 Str( French((n\10-(n>70))*10), if(n%10==1," et ","-"), French(n%10+10*(n>70)))}
%o A167507 \\ _M. F. Hasler_, Nov 19 2009
%Y A167507 Cf. A005589 (English analog), A167508 (counts distinct letters).
%Y A167507 Cf. A001050 (Finnish analog), A006994 (Russian analog), A007208 (German analog), A011762 (Spanish analog), A026858 (Italian analog).
%K A167507 nonn,word
%O A167507 0,1
%A A167507 _M. F. Hasler_, Nov 18 2009
%E A167507 Keyword "fini" removed by _M. F. Hasler_, Nov 19 2009
%E A167507 a(80) and a(81) corrected by _Bernard Schott_, Feb 19 2020