Cod sursa(job #2017125)

Utilizator DianaPopDiana Pop DianaPop Data 31 august 2017 12:49:38
Problema Dreptunghiuri Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>

int euclid( int a, int b ){
    int r;
    while( b != 0 ){
        r = a % b;
        a = b;
        b = r;
    }
    return a;
}

int main(){
    int n,m,i,j,a,b;
    long long sol=0;
    freopen( "dreptunghiuri.in" , "r" ,stdin );
    freopen( "dreptunghiuri.out" , "w" , stdout );

    scanf( "%d %d" , &n , &m );
    for( i = 1 ; i < n ; i++ ){
     for( j = 0 ; j < m ; j++ ){
         if( euclid( i , j ) == 1 ){
             for( a =1 ; i * a <= n ; a++ ){
                for( b = 1 ; i * a + b * j < n && j * a + i * b < m ; b++ ){
                    sol = sol + 1LL*( n - i * a - j * b )*( m - j * a - i * b );
                }
             }
         }
     }
    }

   printf( "%lld\n" , sol );
    return 0;
}