Cod sursa(job #2072626)

Utilizator Consti.001FMI Dranca Constantin Consti.001 Data 21 noiembrie 2017 23:38:16
Problema A+B Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <sys/types.h>
#include<stdio.h>
#include<unistd.h>
#include<sys/wait.h>
#include<stdlib.h>
#include<errno.h>
#include<sys/mman.h>
#include<fcntl.h>
#include<sys/stat.h>

int main()
{
	printf("Cate numere doriti sa introduceti: ");
	int n;
	scanf("%d",&n);

	int *v=(int*)malloc(n*sizeof(int));
	printf("Introduceti numerele: ");
	int i=0;
	for(i=0;i<n;i++)
	scanf("%d",&v[i]);

	for(i=0;i<n;i++)
	{
		pid_t pid=fork();
		if(pid<0)
		{
			perror(NULL);
			return errno;
		}
		else
		if(pid==0)
		{
		int a=v[i];
		printf("%d: ",a);
		while(a>1)
		{
			printf("%d ",a);
			if(a%2==0)
			a=a/2;
			else
			a=a*3+1;
		}
		printf("%d ",a);
		if(a==1)
		printf("Ipoteza adevrata\n");
		else

		printf("Ipoteza falsa\n");
		perror(NULL);
		exit(0);
		}
	}
	for(i=0;i<n;++i)
	wait(NULL);	
	return 0;
}