Long year: Difference between revisions

m
→‎{{header|Phix}}: added syntax colouring, marked p2js compatible
(Add CLU)
m (→‎{{header|Phix}}: added syntax colouring, marked p2js compatible)
Line 1,554:
 
=={{header|Phix}}==
<!--<lang Phix>(phixonline)-->
Requires 0.8.1+
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
<lang Phix>include builtins\ordinal.e
<span style="color: #008080;">function</span> <span style="color: #000000;">week_number</span><span style="color: #0000FF;">(</span><span style="color: #004080;">integer</span> <span style="color: #000000;">y</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">d</span><span style="color: #0000FF;">)</span>
 
<span style="color: #004080;">integer</span> <span style="color: #000000;">doy</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">day_of_year</span><span style="color: #0000FF;">(</span><span style="color: #000000;">y</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">d</span><span style="color: #0000FF;">),</span>
function week_number(integer y,m,d)
<span style="color: #000000;">dow</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">day_of_week</span><span style="color: #0000FF;">(</span><span style="color: #000000;">y</span><span style="color: #0000FF;">,</span><span style="color: #000000;">m</span><span style="color: #0000FF;">,</span><span style="color: #000000;">d</span><span style="color: #0000FF;">),</span>
integer doy = day_of_year(y,m,d),
<span style="color: #000000;">week</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">floor</span><span style="color: #0000FF;">((</span><span style="color: #000000;">doy</span><span style="color: #0000FF;">-</span><span style="color: #000000;">dow</span><span style="color: #0000FF;">+</span><span style="color: #000000;">10</span><span style="color: #0000FF;">)/</span><span style="color: #000000;">7</span><span style="color: #0000FF;">)</span>
dow = day_of_week(y,m,d),
<span style="color: #008080;">return</span> <span style="color: #000000;">week</span>
week = floor((doy-dow+10)/7)
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
return week
end function
<span style="color: #008080;">for</span> <span style="color: #000000;">c</span><span style="color: #0000FF;">=</span><span style="color: #000000;">20</span> <span style="color: #008080;">to</span> <span style="color: #000000;">22</span> <span style="color: #008080;">do</span>
 
<span style="color: #004080;">sequence</span> <span style="color: #000000;">long_years</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{}</span>
for c=20 to 22 do
<span style="color: #004080;">integer</span> <span style="color: #000000;">century</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">c</span><span style="color: #0000FF;">-</span><span style="color: #000000;">1</span><span style="color: #0000FF;">)*</span><span style="color: #000000;">100</span>
sequence long_years = {}
<span style="color: #008080;">for</span> <span style="color: #000000;">year</span><span style="color: #0000FF;">=</span><span style="color: #000000;">century</span> <span style="color: #008080;">to</span> <span style="color: #000000;">century</span><span style="color: #0000FF;">+</span><span style="color: #000000;">99</span> <span style="color: #008080;">do</span>
integer century = (c-1)*100
<span style="color: #008080;">if</span> <span style="color: #000000;">week_number</span><span style="color: #0000FF;">(</span><span style="color: #000000;">year</span><span style="color: #0000FF;">,</span><span style="color: #000000;">12</span><span style="color: #0000FF;">,</span><span style="color: #000000;">28</span><span style="color: #0000FF;">)=</span><span style="color: #000000;">53</span> <span style="color: #008080;">then</span>
for year=century to century+99 do
<span style="color: #000000;">long_years</span> <span style="color: #0000FF;">&=</span> <span style="color: #000000;">year</span>
if week_number(year,12,28)=53 then
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
long_years &= year
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
end if
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Long years in the %d%s century:%v\n"</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">c</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">ord</span><span style="color: #0000FF;">(</span><span style="color: #000000;">c</span><span style="color: #0000FF;">),</span><span style="color: #000000;">long_years</span><span style="color: #0000FF;">})</span>
end for
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
printf(1,"Long years in the %d%s century:%v\n", {c,ord(c),long_years})
end for<!--</lang>-->
{{out}}
<pre>
Line 1,580:
Long years in the 22nd century:{2105,2111,2116,2122,2128,2133,2139,2144,2150,2156,2161,2167,2172,2178,2184,2189,2195}
</pre>
 
 
=={{header|PHP}}==
7,805

edits