Cod sursa(job #1990495)

Utilizator arcoC. Nicolae arco Data 12 iunie 2017 09:30:28
Problema Sum Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef unsigned int uint;

uint gcd(uint a, uint b);

int main(void)
{
	FILE *in = fopen("sum.in", "r");
	FILE *out = fopen("sum.out", "r");

	if(in != NULL && out != NULL)
	{
		uint n = 0;
		fscanf(in, "%u%*c", &n);
		uint i = 0;
		for(; i < n; i++)
		{
			uint x = 0;
			fscanf(in, "%u%*c", &x);

			uint sum = 0;
			uint y = 0;
			for(; y <= 2 * x; y++)
			{
				if(gcd(x, y) == 1)
				{
					sum += y;
				}
			}

			fprintf(out, "%u\n", sum);
		}

		fclose(in);
		fclose(out);
	}
	else
	{
		printf("error\n");
	}

	return 0;
}

uint gcd(uint a, uint b)
{
	while(b)
	{
		uint temp = a;
		a = b;
		b = temp % b;
	}

	return a;
}