from mpi4py import MPI
# Initialize MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
# Coordonatele punctelor A și B
A = (2, -1)
B = (1, -2)
# Funcția pentru calculul pantei și interceptării
def calculate_slope_intercept(A, B):
x1, y1 = A
x2, y2 = B
slope = (y2 - y1) / (x2 - x1)
intercept = y1 - slope * x1
return slope, intercept
# Determinarea pantei și interceptării în paralel
if rank == 0:
slope, intercept = calculate_slope_intercept(A, B)
data = {"slope": slope, "intercept": intercept}
else:
data = None
data = comm.bcast(data, root=0)
# Afisarea ecuatiei dreptei
if rank != 0:
print(f"Ecuatia dreptei este: y = {data['slope']}x + {data['intercept']}")
ZnJvbSBtcGk0cHkgaW1wb3J0IE1QSQoKIyBJbml0aWFsaXplIE1QSQpjb21tID0gTVBJLkNPTU1fV09STEQKcmFuayA9IGNvbW0uR2V0X3JhbmsoKQpzaXplID0gY29tbS5HZXRfc2l6ZSgpCgojIENvb3Jkb25hdGVsZSBwdW5jdGVsb3IgQSDImWkgQgpBID0gKDIsIC0xKQpCID0gKDEsIC0yKQoKIyBGdW5jyJtpYSBwZW50cnUgY2FsY3VsdWwgcGFudGVpIMiZaSBpbnRlcmNlcHTEg3JpaQpkZWYgY2FsY3VsYXRlX3Nsb3BlX2ludGVyY2VwdChBLCBCKToKICAgIHgxLCB5MSA9IEEKICAgIHgyLCB5MiA9IEIKICAgIHNsb3BlID0gKHkyIC0geTEpIC8gKHgyIC0geDEpCiAgICBpbnRlcmNlcHQgPSB5MSAtIHNsb3BlICogeDEKICAgIHJldHVybiBzbG9wZSwgaW50ZXJjZXB0CgojIERldGVybWluYXJlYSBwYW50ZWkgyJlpIGludGVyY2VwdMSDcmlpIMOubiBwYXJhbGVsCmlmIHJhbmsgPT0gMDoKICAgIHNsb3BlLCBpbnRlcmNlcHQgPSBjYWxjdWxhdGVfc2xvcGVfaW50ZXJjZXB0KEEsIEIpCiAgICBkYXRhID0geyJzbG9wZSI6IHNsb3BlLCAiaW50ZXJjZXB0IjogaW50ZXJjZXB0fQplbHNlOgogICAgZGF0YSA9IE5vbmUKCmRhdGEgPSBjb21tLmJjYXN0KGRhdGEsIHJvb3Q9MCkKCiMgQWZpc2FyZWEgZWN1YXRpZWkgZHJlcHRlaQppZiByYW5rICE9IDA6CiAgICBwcmludChmIkVjdWF0aWEgZHJlcHRlaSBlc3RlOiB5ID0ge2RhdGFbJ3Nsb3BlJ119eCArIHtkYXRhWydpbnRlcmNlcHQnXX0iKQ==