Vampire number: Difference between revisions

→‎{{header|C++}}: Fixed the problems that had been flagged up for this example.
(added Factor)
(→‎{{header|C++}}: Fixed the problems that had been flagged up for this example.)
Line 482:
 
=={{header|C++}}==
 
{{incorrect|C++| <br> Output is missing vamparic numbers &nbsp; '''6880''' <br> and &nbsp; '''120600''' <br><br>}}
 
<lang cpp>#include <vector>
#include <utility>
Line 492 ⟶ 489:
#include <string>
#include <cmath>
 
bool isVampireNumber( long number, std::vector<std::pair<long, long> > & solution ) {
std::ostringstream numberstream ;
Line 500 ⟶ 497:
int fanglength = numberstring.length( ) / 2 ;
long start = static_cast<long>( std::pow( 10 , fanglength - 1 ) ) ;
long end = start * 10sqrt(number) ;
for ( long i = start ; i < (= end - start ) / 2 ; i++ ) {
if ( number % i == 0 ) {
long quotient = number / i ;
if ( ( i % 10 == 0 ) && ( quotient % 10 == 0 ) )
return falsecontinue ;
numberstream.str( "" ) ; //clear the number stream
numberstream << i << quotient ;
Line 518 ⟶ 515:
return !solution.empty( ) ;
}
 
void printOut( const std::pair<long, long> & solution ) {
std::cout << "[ " << solution.first << " , " << solution.second << " ]" ;
}
 
int main( ) {
int vampireNumbersFound = 0 ;
Line 532 ⟶ 529:
for ( long num = start ; num < end ; num++ ) {
if ( isVampireNumber( num , solutions ) ) {
vampireNumbersFound++ ;
std::cout << vampireNumbersFound << " :" << num << " is a vampire number! These are the fangs:\n" ;
std::for_each( solutions.begin( ) , solutions.end( ) , printOut ) ;
std::cout << "\n_______________" << std::endl ;
solutions.clear( ) ;
vampireNumbersFound++ ;
if ( vampireNumbersFound == 25 )
break ;
Line 545 ⟶ 542:
std::vector<long> testnumbers ;
testnumbers.push_back( 16758243290880 ) ;
testnumbers.push_back( 249590173486524959017348650 ) ;
testnumbers.push_back( 14593825548650 ) ;
for ( std::vector<long>::const_iterator svl = testnumbers.begin( ) ;
Line 561 ⟶ 558:
}</lang>
{{out}}
<pre>
<pre>01 :1260 is a vampire number! These are the fangs:
[ 21 , 60 ]
_______________
12 :1395 is a vampire number! These are the fangs:
[ 15 , 93 ]
_______________
23 :1435 is a vampire number! These are the fangs:
[ 35 , 41 ][ 41 , 35 ]
_______________
34 :1530 is a vampire number! These are the fangs:
[ 30 , 51 ]
_______________
45 :1827 is a vampire number! These are the fangs:
[ 21 , 87 ]
_______________
56 :2187 is a vampire number! These are the fangs:
[ 27 , 81 ]
_______________
67 :1025106880 is a vampire number! These are the fangs:
[ 20180 , 62786 ]
_______________
238 :126027102510 is a vampire number! These are the fangs:
[ 201 , 510 ]
_______________
79 :104260 is a vampire number! These are the fangs:
[ 260 , 401 ][ 401 , 260 ]
_______________
810 :105210 is a vampire number! These are the fangs:
[ 210 , 501 ]
_______________
911 :105264 is a vampire number! These are the fangs:
[ 204 , 516 ]
_______________
1012 :105750 is a vampire number! These are the fangs:
[ 150 , 705 ]
_______________
1113 :108135 is a vampire number! These are the fangs:
[ 135 , 801 ]
_______________
1214 :110758 is a vampire number! These are the fangs:
[ 158 , 701 ]
_______________
1315 :115672 is a vampire number! These are the fangs:
[ 152 , 761 ]
_______________
1416 :116725 is a vampire number! These are the fangs:
[ 161 , 725 ]
_______________
1517 :117067 is a vampire number! These are the fangs:
[ 167 , 701 ]
_______________
1618 :118440 is a vampire number! These are the fangs:
[ 141 , 840 ]
_______________
1719 :123354120600 is a vampire number! These are the fangs:
[ 261201 , 486600 ]
_______________
2420 :126846123354 is a vampire number! These are the fangs:
[ 231 , 534 ]
_______________
1821 :124483 is a vampire number! These are the fangs:
[ 281 , 443 ][ 443 , 281 ]
_______________
1922 :125248 is a vampire number! These are the fangs:
[ 152 , 824 ]
_______________
2023 :125433 is a vampire number! These are the fangs:
[ 231 , 543 ]
_______________
2124 :125460 is a vampire number! These are the fangs:
[ 204 , 615 ][ 246 , 510 ]
_______________
2225 :125500 is a vampire number! These are the fangs:
[ 251 , 500 ]
_______________
23 :126027 is a vampire number! These are the fangs:
[ 201 , 627 ]
_______________
24 :126846 is a vampire number! These are the fangs:
[ 261 , 486 ]
_______________
16758243290880 is a vampire number! The fangs:
[ 1982736 , 8452080 ][ 2123856 , 7890480 ][ 2751840 , 6089832 ][ 2817360 , 5948208 ]
249590173486524959017348650 is a vampire number! The fangs:
[ 2947052947050 , 8469153 ][ 4125872949705 , 8461530 ][ 4125870 , 6049395 ][ 4129587 , 6043950 ][ 4230765 , 5899410 ]
14593825548650 is not a vampire number!
</pre>
9,488

edits