Cod sursa(job #1451884)

Utilizator cuna_christianCuna-Mic Mihai-Cristian cuna_christian Data 18 iunie 2015 20:56:38
Problema Fractii Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define NMAX 5000


int m, fr = 1;
bool array[NMAX][NMAX];

int fractions(){

    int i, j, k, p;

    for(i = 1; i<= m; i++)
        for(j= 1; j <= m; j++){
            if(i != j)
                array[i][j] = true;
            else
                array[i][j] = false;
        }

    for(j = 1; j <= m; j++) //coloane
        for(i = 1; i <= m; i++) //randuri
            if(array[i][j]){
                ++fr;
                for(k = j + j; k <= m && j != 1; k += j)
                    array[k][j] = false;
                for(k = i + i, p = j + j; k <= m && p <= m && j != 1; k += i, p += j)
                    array[k][p] = false;
            }

    return fr;
}

int main()
{

    freopen("fractii.in", "r", stdin);
    freopen("fractii.out", "w", stdout);

    scanf("%d", &m);

    printf("%d\n", fractions());

    for(int i = 1; i <= m; i++){
        for(int j = 1; j <= m; j++)
            printf("%d ", array[i][j]);
        printf("\n");
    }

    return 0;
}