Soluzioni "intere" con Mathematica (Wolfram)

Asinov
Salve a tutti, sono un appassionato di "teoria dei numeri" e sto svolgendo alcune ricerche "strampalate".
Ho cominciato da poco ad usare il sw Mathematica e non sto riuscendo a capire come risolvere un problema, il seguente:

p = Sqrt(x) + Sqrt(y)
x varia da 1 a 100
y varia da 101 a 200

Vorrei trovare per quali x e y avrei p intero, ossia appartenente ai numeri naturali.

A quanto ho capito dovrei usare in qualche maniera i comandi Table, If ed Integer, ma magari sbaglio.....

Grazie mille per l'aiuto :)

Risposte
Pianoth
Io lo farei così, ma sicuramente c'è qualche modo migliore:
f[x_, y_] := If[IntegerQ[Sqrt[x] + Sqrt[y]], Print["x = ",  x, "; y = ",  y]]
Do[f[x, y], {x, 1, 100}, {y, 101, 200}]

Si può fare anche con table, ma ti crea un grande output pieno di
Null
... Come l'ho fatto io si può scrivere anche in una sola riga:
Do[If[IntegerQ[Sqrt[x] + Sqrt[y]], Print["x = ",  x, "; y = ",  y]], {x, 1, 100}, {y, 101, 200}]

L'unico problema è che è piuttosto confuso a differenza di quello in 2 righe.

Asinov
Grazie mille, funziona benissimo :D

Raptorista1
[xdom="Raptorista"]Sposto dove più appropriato. Attenzione! :evil:[/xdom]

Asinov
Scusa Raptorista.... come lo sposto?

Raptorista1
Non tu, IO l'ho già spostato!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.