Mai intai trebuie sa te autentifici.
Cod sursa(job #201042)
Utilizator | Data | 28 iulie 2008 19:45:04 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.78 kb |
#include <stdio.h>
int n = 0;
int m = 0;
void readData()
{
FILE* fin;
fin = fopen( "fractii.in", "r" );
if ( fin == NULL ) {
return;
}
fscanf( fin, "%d", &n );
fclose( fin );
}
void writeData()
{
FILE* fout;
fout = fopen( "fractii.out", "w" );
if ( fout == NULL ) {
return;
}
fprintf( fout, "%d", m );
fclose( fout );
}
int cmmdc( int a, int b )
{
int rest;
if ( a < b ) {
rest = a;
a = b;
b = rest;
}
do {
rest = a%b;
a = b;
b = rest;
} while ( rest != 0 );
return a;
}
void solve()
{
m = 1; //pt fractia 1/1
for ( int i=1; i<n; i++ ) {
for ( int j=i+1; j<=n; j++ ) {
if ( cmmdc( i,j ) == 1 ) {
m += 2;
}
}
}
}
void main()
{
readData();
solve();
writeData();
}