#include <stdio.h>
int main( ) {
int limit = 20 ;
int numbers_found = 0 ;
printf ( "searching for ramanujan numbers with components up to %d...\n " , limit
) ;
for ( int a= 1 ; a<= limit; a++ ) {
for ( int b= a; b<= limit; b++ ) {
int sum1 = ( a* a* a) + ( b* b* b) ;
for ( int c= a+ 1 ; c<= limit; c++ ) {
for ( int d= c; d<= limit; d++ ) {
int sum2 = ( c* c* c) + ( d* d* d) ;
if ( sum1 == sum2) {
printf ( "\n found one! --> %d\n " , sum1
) ; printf ( " As: %d^3 + %d^3\n " , a
, b
) ; printf ( " And as: %d^3 + %d^3\n " , c
, d
) ; numbers_found++;
}
}
}
}
}
if ( numbers_found == 0 ) {
printf ( "No ramanujan number is found within the limit\n " ) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBsaW1pdCA9IDIwOwogICAgaW50IG51bWJlcnNfZm91bmQgPSAwOwogICAgcHJpbnRmKCJzZWFyY2hpbmcgZm9yIHJhbWFudWphbiBudW1iZXJzIHdpdGggY29tcG9uZW50cyB1cCB0byAlZC4uLlxuIiwgbGltaXQpOwoKICAgIGZvcihpbnQgYT0xOyBhPD1saW1pdDsgYSsrKXsKICAgICAgICBmb3IoaW50IGI9YTsgYjw9bGltaXQ7IGIrKyl7CiAgICAgICAgICAgIGludCBzdW0xID0gKGEqYSphKSArIChiKmIqYik7CiAgICAgICAgICAgIGZvcihpbnQgYz1hKzE7IGM8PWxpbWl0OyBjKyspewogICAgICAgICAgICAgICAgZm9yKGludCBkPWM7IGQ8PWxpbWl0OyBkKyspewogICAgICAgICAgICAgICAgICAgIGludCBzdW0yID0gKGMqYypjKSArIChkKmQqZCk7CiAgICAgICAgICAgICAgICAgICAgaWYoc3VtMSA9PSBzdW0yKXsKICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJcbiBmb3VuZCBvbmUhIC0tPiAlZFxuIiwgc3VtMSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiIEFzOiAlZF4zICsgJWReM1xuIiwgYSwgYik7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiIEFuZCBhczogJWReMyArICVkXjNcbiIsIGMsIGQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1iZXJzX2ZvdW5kKys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGlmKG51bWJlcnNfZm91bmQgPT0gMCl7CiAgICAgICAgcHJpbnRmKCJObyByYW1hbnVqYW4gbnVtYmVyIGlzIGZvdW5kIHdpdGhpbiB0aGUgbGltaXRcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==