<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://teherba.org/tehowiki/index.php?action=history&amp;feed=atom&amp;title=OEIS%2FA070080</id>
	<title>OEIS/A070080 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://teherba.org/tehowiki/index.php?action=history&amp;feed=atom&amp;title=OEIS%2FA070080"/>
	<link rel="alternate" type="text/html" href="http://teherba.org/tehowiki/index.php?title=OEIS/A070080&amp;action=history"/>
	<updated>2026-05-05T00:50:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>http://teherba.org/tehowiki/index.php?title=OEIS/A070080&amp;diff=809&amp;oldid=prev</id>
		<title>Gfis: Perl program and parameterization</title>
		<link rel="alternate" type="text/html" href="http://teherba.org/tehowiki/index.php?title=OEIS/A070080&amp;diff=809&amp;oldid=prev"/>
		<updated>2024-04-06T09:20:46Z</updated>

		<summary type="html">&lt;p&gt;Perl program and parameterization&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Triangles with integer sides, areas and in-radii==&lt;br /&gt;
* Sides with perimeter &amp;lt;code&amp;gt;p = a &amp;amp;lt;= b &amp;amp;lt;= c&amp;lt;/code&amp;gt;: a = [https://oeis.org/A070080 A070080], b = [https://oeis.org/A070081 A070081], c = [https://oeis.org/A070082 A070082] &lt;br /&gt;
===[https://oeis.org/A070080/a070080.txt List] of [https://oeis.org/wiki/User:Reinhard_Zumkeller Reinhard Zumkeller] ===&lt;br /&gt;
(Reinhard was my colleague in April 1976 at the University of Dortmund and at Softlab GmbH in München.)&lt;br /&gt;
* [https://github.com/archmageirvine/joeis/blob/master/src/irvine/oeis/a070/A070080.java Java program] (for the jOEIS environment) that reproduces the list, with the area and in-radius values in addition.&lt;br /&gt;
* Perl program with identical output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!perl&lt;br /&gt;
# @(#) $Id$&lt;br /&gt;
# Generate integer-sided triangles&lt;br /&gt;
# 2024-04-05, Georg Fischer&lt;br /&gt;
#&lt;br /&gt;
#:# Usage:&lt;br /&gt;
#:#   perl A070080_gen.pl [start [[-]end]]&lt;br /&gt;
#:#       start first perimeter (default 1)&lt;br /&gt;
#:#       +end  number of perimeters to be printed (default 1, or 55 if start=1)&lt;br /&gt;
#:#       -end  print from perimeter start to abs(end)&lt;br /&gt;
#--------&lt;br /&gt;
use strict;&lt;br /&gt;
# do not use integer! b.o. area and inradius&lt;br /&gt;
use warnings;&lt;br /&gt;
&lt;br /&gt;
my $periStart = 1;&lt;br /&gt;
my $periEnd   = 55;&lt;br /&gt;
my $debug = 0;&lt;br /&gt;
while (scalar(@ARGV) &amp;gt; 0 and ($ARGV[0] =~ m{\A[\-\+]})) {&lt;br /&gt;
    my $opt = shift(@ARGV);&lt;br /&gt;
    if (0) {&lt;br /&gt;
    } elsif ($opt  =~ m{d}) {&lt;br /&gt;
        $debug     =  shift(@ARGV);&lt;br /&gt;
    }&lt;br /&gt;
} # while&lt;br /&gt;
if (scalar(@ARGV) &amp;gt; 0) {&lt;br /&gt;
    $periStart = shift(@ARGV);&lt;br /&gt;
}&lt;br /&gt;
if (scalar(@ARGV) &amp;gt; 0) {&lt;br /&gt;
    $periEnd = shift(@ARGV);&lt;br /&gt;
} else {&lt;br /&gt;
    if ($periStart &amp;gt; 1) {&lt;br /&gt;
        $periEnd = $periStart;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my ($peri, $a, $b, $c, $r) =&lt;br /&gt;
   (1,   1,  0,  2,  0);&lt;br /&gt;
$peri = $periStart;&lt;br /&gt;
$a = 1;&lt;br /&gt;
$b = 0;&lt;br /&gt;
if ($periStart &amp;gt; 1) {&lt;br /&gt;
    &amp;amp;printSeparator();&lt;br /&gt;
}&lt;br /&gt;
my $n = 0;&lt;br /&gt;
my $oldPeri = $peri;&lt;br /&gt;
while ($peri &amp;lt;= $periEnd) {&lt;br /&gt;
    $n ++;&lt;br /&gt;
    &amp;amp;advance();&lt;br /&gt;
    if ($peri != $oldPeri) {&lt;br /&gt;
      &amp;amp;printSeparator();&lt;br /&gt;
      $oldPeri = $peri;&lt;br /&gt;
    }&lt;br /&gt;
    if ($peri &amp;lt;= $periEnd) {&lt;br /&gt;
        print sprintf(&amp;quot;| %5d | %5d |%4d%4d%4d |&amp;quot;, $n, $peri, $a, $b, $c);&lt;br /&gt;
        print sprintf(&amp;quot;%6d |%6d |&amp;quot;, &amp;amp;gcd($a, &amp;amp;gcd($b, $c)), $a**2 + $b**2 - $c**2);&lt;br /&gt;
        my $s = $peri/2;&lt;br /&gt;
        my $H = sprintf(&amp;quot;%12.6f&amp;quot;, sqrt($s*($s - $a)*($s - $b)*($s - $c)));&lt;br /&gt;
        my $I = sprintf( &amp;quot;%8.6f&amp;quot;, sqrt(   ($s - $a)*($s - $b)*($s - $c)/$s));&lt;br /&gt;
        print &amp;quot; s&amp;quot; if $a &amp;lt;  $b &amp;amp;&amp;amp; $b &amp;lt;  $c;&lt;br /&gt;
        print &amp;quot; i&amp;quot; if $a == $b || $b == $c;&lt;br /&gt;
        if (0) {&lt;br /&gt;
        } elsif (&amp;amp;isPrime($a) &amp;amp;&amp;amp; &amp;amp;isPrime($b) &amp;amp;&amp;amp; &amp;amp;isPrime($c)) {&lt;br /&gt;
            print &amp;quot; p&amp;quot;;&lt;br /&gt;
        } elsif (&amp;amp;gcd($a, &amp;amp;gcd($b, $c)) == 1) {&lt;br /&gt;
            print &amp;quot; r&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            print &amp;quot;  &amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        print &amp;quot; A&amp;quot; if $a**2 + $b**2 &amp;gt;  $c**2;&lt;br /&gt;
        print &amp;quot; R&amp;quot; if $a**2 + $b**2 == $c**2;&lt;br /&gt;
        print &amp;quot; O&amp;quot; if $a**2 + $b**2 &amp;lt;  $c**2;&lt;br /&gt;
        print &amp;quot;&amp;quot; . (($H =~ m{\.000000}) ? &amp;quot; H&amp;quot; : &amp;quot;  &amp;quot;);&lt;br /&gt;
        print &amp;quot;&amp;quot; . (($I =~ m{\.000000}) ? &amp;quot; I&amp;quot; : &amp;quot;  &amp;quot;);&lt;br /&gt;
        print &amp;quot; | $H $I&amp;quot;;&lt;br /&gt;
        print &amp;quot;\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
} # for $n&lt;br /&gt;
&lt;br /&gt;
#----&lt;br /&gt;
sub printSeparator {&lt;br /&gt;
    print &amp;quot;+-------+-------+-------------+-------+-------+-----------+\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub advance {&lt;br /&gt;
    my $busy = 1;&lt;br /&gt;
    while ($busy) {&lt;br /&gt;
        $b ++;&lt;br /&gt;
        $c = $peri - $a - $b;&lt;br /&gt;
        print sprintf(&amp;quot;%3d: %3d %3d %3d P\n&amp;quot;, $peri, $a, $b, $c) if $debug &amp;gt; 0;&lt;br /&gt;
        if ($a &amp;lt;= $b and $b &amp;lt;= $c &amp;amp;&amp;amp; $a + $b &amp;gt; $c) {&lt;br /&gt;
            $busy = 0;&lt;br /&gt;
        } elsif ($b &amp;gt; $c) {&lt;br /&gt;
            $a ++;&lt;br /&gt;
            $r = $peri - $a;&lt;br /&gt;
            $b = $a;&lt;br /&gt;
            $c = $peri - $a - $b;&lt;br /&gt;
            print sprintf(&amp;quot;%3d: %3d %3d %3d Q\n&amp;quot;, $peri, $a, $b, $c) if $debug &amp;gt; 0;&lt;br /&gt;
            if ($a &amp;lt;= $b and $b &amp;lt;= $c &amp;amp;&amp;amp; $a + $b &amp;gt; $c) {&lt;br /&gt;
                $busy = 0;&lt;br /&gt;
            } elsif ($b + $c &amp;lt;= $a) {&lt;br /&gt;
                $peri ++;&lt;br /&gt;
                $a = 1;&lt;br /&gt;
                $r = $peri - $a;&lt;br /&gt;
                $b = $a;&lt;br /&gt;
                $c = $peri - $a - $b;&lt;br /&gt;
                print sprintf(&amp;quot;%3d: %3d %3d %3d R\n&amp;quot;, $peri, $a, $b, $c) if $debug &amp;gt; 0;&lt;br /&gt;
                if ($a &amp;lt;= $b and $b &amp;lt;= $c &amp;amp;&amp;amp; $a + $b &amp;gt; $c) {&lt;br /&gt;
                    $busy = 0;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    } # while&lt;br /&gt;
} # advance&lt;br /&gt;
&lt;br /&gt;
# from https://gist.github.com/EricCrosson/8b5dc6a15679f159f7fc&lt;br /&gt;
sub gcd {&lt;br /&gt;
  my ($m, $n) = @_;&lt;br /&gt;
  if ($n == 0) {&lt;br /&gt;
    return $m;&lt;br /&gt;
  }&lt;br /&gt;
  return gcd($n, $m % $n);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# https://stackoverflow.com/questions/32675465/perl-finding-out-if-a-given-number-is-a-prime-number&lt;br /&gt;
sub isPrime {&lt;br /&gt;
    my ($num) = @_;&lt;br /&gt;
    #                             1 1 1 1 1 1 1 1 1 1 2&lt;br /&gt;
    #         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 &lt;br /&gt;
    my @pc = (0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1);&lt;br /&gt;
    return $pc[$num] if $num &amp;lt; scalar(@pc);&lt;br /&gt;
    return 0 if $num % 2 == 0 ;&lt;br /&gt;
    for (my $i = 3; $i &amp;lt;= $num/2; $i += 2) {&lt;br /&gt;
       return 0 if ($num % $i == 0)&lt;br /&gt;
    }&lt;br /&gt;
    return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
__DATA__&lt;br /&gt;
               s = scalene: a &amp;lt; b &amp;lt; c                          |&lt;br /&gt;
    |          i = isosceles: a = b or b = c                   |&lt;br /&gt;
    |                                                          |&lt;br /&gt;
    |          r = a, b, and c are relatively prime            |&lt;br /&gt;
    |          p = a, b, and c are primes  (p &amp;lt; r)             |&lt;br /&gt;
    |                                                          |&lt;br /&gt;
    |          A = acute:  a^2 + b^2 &amp;gt; c^2                     |&lt;br /&gt;
    |          R = right:  a^2 + b^2 = c^2                     |&lt;br /&gt;
    |          O = obtuse: a^2 + b^2 &amp;lt; c^2                     |&lt;br /&gt;
    +-----+-------+----------+-------+-------+-----------------+&lt;br /&gt;
    |Sequ-|A070083|A070080-82|A070084|A070085|                 |&lt;br /&gt;
    | Nr. | a+b+c |  a  b  c |   gcd |       |   properties    |&lt;br /&gt;
    +-----+-------+----------+-------+-------+-----------------+&lt;br /&gt;
    |   1 |     3 |  1  1  1 |     1 |     1 |  i  r  A        |&lt;br /&gt;
    |-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -|&lt;br /&gt;
    |   2 |     5 |  1  2  2 |     1 |     1 |  i  r  A        |&lt;br /&gt;
    |-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -|&lt;br /&gt;
    |   3 |     6 |  2  2  2 |     2 |     4 |  i  p  A        |&lt;br /&gt;
    |  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Parameterization of related sequences ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A070080	SIDE_A	s -&amp;gt; isTriangle(s)	Smallest side of integer triangles [a(n) &amp;lt;= A070081(n) &amp;lt;= A070082(n)], sorted by perimeter, lexicographically ordered.&lt;br /&gt;
A070081	SIDE_B	s -&amp;gt; isTriangle(s)	Middle side of integer triangles [A070080(n) &amp;lt;= a(n) &amp;lt;= A070082(n)], sorted by perimeter, sides lexicographically ordered.&lt;br /&gt;
A070082	SIDE_C	s -&amp;gt; isTriangle(s)	Largest side of integer triangles [A070080(n) &amp;lt;= A070081(n) &amp;lt;= a(n)], sorted by perimeter, sides lexicographically ordered.&lt;br /&gt;
A070083	PERIMETER	s -&amp;gt; isTriangle(s)	Perimeters of integer triangles, sorted by perimeter, sides lexicographically ordered.&lt;br /&gt;
A070084	GCD	s -&amp;gt; isTriangle(s)	Greatest common divisor of sides of integer triangles [A070080(n), A070081(n), A070082(n)], sorted by perimeter, sides lexicographically ordered.&lt;br /&gt;
A070085	SHAPE	s -&amp;gt; isTriangle(s)	a(n) = A070080(n)^2 + A070081(n)^2 - A070082(n)^2.&lt;br /&gt;
A070086	AREA	s -&amp;gt; isTriangle(s)	Areas of integer triangles [A070080(n), A070081(n), A070082(n)], rounded values.&lt;br /&gt;
A070088	COUNT	s -&amp;gt; hasPrimeSides(s)	Number of integer-sided triangles with perimeter n and prime sides.&lt;br /&gt;
A070090	COUNT	s -&amp;gt; isScalene(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070091	COUNT	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070092	COUNT	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070093	COUNT	s -&amp;gt; isAcute(s)&lt;br /&gt;
A070094	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070095	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070096	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070097	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070098	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isIsosceles(s)&lt;br /&gt;
A070099	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070100	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070101	COUNT	s -&amp;gt; isObtuse(s)&lt;br /&gt;
A070102	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070103	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070104	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070105	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070106	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isIsosceles(s)&lt;br /&gt;
A070107	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070108	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070109	COUNT	s -&amp;gt; isRight(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070110	INDEX	s -&amp;gt; hasCoPrimeSides(s)&lt;br /&gt;
A070111	INDEX	s -&amp;gt; hasPrimeSides(s)&lt;br /&gt;
A070112	INDEX	s -&amp;gt; isScalene(s)&lt;br /&gt;
A070113	INDEX	s -&amp;gt; isScalene(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070114	INDEX	s -&amp;gt; isScalene(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070115	INDEX	s -&amp;gt; isIsosceles(s)&lt;br /&gt;
A070116	INDEX	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070117	INDEX	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070118	INDEX	s -&amp;gt; isAcute(s)&lt;br /&gt;
A070119	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070120	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070121	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isScalene(s)&lt;br /&gt;
A070122	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070123	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070124	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isIsosceles(s)&lt;br /&gt;
A070125	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070126	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070127	INDEX	s -&amp;gt; isObtuse(s)&lt;br /&gt;
A070128	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070129	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070130	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isScalene(s)&lt;br /&gt;
A070131	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070132	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isScalene(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070133	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isIsosceles(s)&lt;br /&gt;
A070134	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070135	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; isIsosceles(s) &amp;amp;&amp;amp; hasPrimeSides(s)&lt;br /&gt;
A070136	INDEX	s -&amp;gt; isRight(s)&lt;br /&gt;
A070137	INDEX	s -&amp;gt; isRight(s) &amp;amp;&amp;amp; hasCoPrimeSides(s)&lt;br /&gt;
A070138	COUNT	s -&amp;gt; hasCoPrimeSides(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070139	COUNT	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070140	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070141	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070142	INDEX	s -&amp;gt; hasIntArea(s)&lt;br /&gt;
A070143	INDEX	s -&amp;gt; hasCoPrimeSides(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070144	INDEX	s -&amp;gt; isScalene(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070145	INDEX	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070146	INDEX	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070147	INDEX	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasIntArea(s)&lt;br /&gt;
A070148	INDEX	s -&amp;gt; hasTrigonalArea(s)&lt;br /&gt;
A070149	AREA	s -&amp;gt; hasIntArea(s)&lt;br /&gt;
A070200	INRAD	s -&amp;gt; isTriangle(s)&lt;br /&gt;
A070201	COUNT	s -&amp;gt; hasIntInRadius(s)&lt;br /&gt;
A070202	COUNT	s -&amp;gt; !hasCoPrimeSides(s) &amp;amp;&amp;amp; hasIntInRadius(s)&lt;br /&gt;
A070203	COUNT	s -&amp;gt; isScalene(s) &amp;amp;&amp;amp; hasIntInRadius(s)&lt;br /&gt;
A070204	COUNT	s -&amp;gt; isIsosceles(s) &amp;amp;&amp;amp; hasIntInRadius(s)&lt;br /&gt;
A070205	COUNT	s -&amp;gt; isAcute(s) &amp;amp;&amp;amp; hasIntInRadius(s)&lt;br /&gt;
A070206	COUNT	s -&amp;gt; isObtuse(s) &amp;amp;&amp;amp; hasIntInRadius(s)&lt;br /&gt;
A070208	COUNT	s -&amp;gt; hasIntArea(s) &amp;amp;&amp;amp; !hasIntInRadius(s)&lt;br /&gt;
A070209	INDEX	s -&amp;gt; hasIntInRadius(s)&lt;br /&gt;
A070210	INRAD	s -&amp;gt; hasIntInRadius(s)&lt;br /&gt;
&lt;br /&gt;
A051493	COUNT	s -&amp;gt; hasCoPrimeSides(s)&lt;br /&gt;
A051516	COUNT	s -&amp;gt; hasIntArea(s)&lt;br /&gt;
A059169	COUNT	s -&amp;gt; isIsosceles(s)&lt;br /&gt;
A070150	filter	1	new A070149()	TRIANGULAR	Triangular areas of integer Heronian triangles.&lt;br /&gt;
A070151	tuptraf	1	(n, s) -&amp;gt; s[0].*(s[1])./(2)	&amp;quot;&amp;quot;	new A002330().skip(1), new A002331().skip(1)&lt;br /&gt;
A135622	parmof3	1	A070080	SQUARE16	s -&amp;gt; isTriangle(s)	16*Area^2 of integer triangles.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gfis</name></author>
	</entry>
</feed>