Na poslednjem roku iz programskih jezika je bio sledeci zadatak koga niko nije ni pokusao da uradi.
Ako je broj M1 dobijen od broja M zapisom njegovih cifara u inverznom poredku, napisati program kojim se štampaju svi parovi trocifrenih brojeva (A,B) koji imaju svojstvo: ako je A*B=C, to je A1*B1=C1. Na primer:
312*221=68952
213*122=25986
Rešenje:
#include<stdio.h>
long inverzanbroj(long broj)
{
long s=0;
while(broj) {
s = s * 10 + broj%10;
broj=broj/10;
}
return s;
}
int main(int argc, char *argv[])
{
long a,b,c;
for(a=100;a<=999;a++)
for(b=a;b<=999;b++) {
c=a*b;
if (inverzanbroj(a)*inverzanbroj(b) == inverzanbroj(c))
printf("%ld %ld\n",a,b);
}
return 0;
}
U izvinite, nije baš da niko nije pokušao da uradi. Pokušao je Marinko...