Jump to content

List comprehensions: Difference between revisions

no edit summary
m (→‎{{header|JavaScript}}: consistent indentation)
No edit summary
Line 41:
+3 +4 +5 +5 +12 +13 +6 +8 +10 +8 +15 +17 +9 +12 +15 +12 +16 +20
</pre></div>
 
=={{header|C++}}==
<lang C++>
#include <vector>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <iterator>
 
void list_comprehension( std::vector<int> & , int ) ;
 
int main( ) {
std::vector<int> triangles ;
list_comprehension( triangles , 20 ) ;
std::copy( triangles.begin( ) , triangles.end( ) ,
std::ostream_iterator<int>( std::cout , " " ) ) ;
std::cout << std::endl ;
return 0 ;
}
 
void list_comprehension( std::vector<int> & numbers , int upper_border ) {
for ( int a = 1 ; a < upper_border ; a++ ) {
for ( int b = a + 1 ; b < upper_border ; b++ ) {
double c = pow( a * a + b * b , 0.5 ) ; //remembering Mr. Pythagoras
if ( ( c * c ) < pow( upper_border , 2 ) + 1 ) {
if ( c == floor( c ) ) {
numbers.push_back( a ) ;
numbers.push_back( b ) ;
numbers.push_back( static_cast<int>( c ) ) ;
}
}
}
}
}
This produces the following output:
3 4 5 5 12 13 6 8 10 8 15 17 9 12 15 12 16 20
</lang>
 
=={{header|Clojure}}==
260

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.