//Autore:F. Sacco
//Breve descrizione del programma:Calcolo tempo richiesto stimato per generare sequenza di DNA 

#include<stdio.h>

int   main() {
	char invio;
	long double casi_possibili, operazioni;
	int lunghezzaDNA;
	int i;
	printf("Numero di operazioni compiute dal PC in un secondo --------->");
	scanf("%Lf%c", &operazioni, &invio);

	do {
		casi_possibili=4;
		printf("Numero di lettere della sequenza DNA [con 4 lettere: ACTG] [0==uscita]->");
		scanf("%d%c", &lunghezzaDNA, &invio);
		if (lunghezzaDNA <= 0) break;

		for (i = 1; i < lunghezzaDNA; i++)
			casi_possibili *= 4;
		printf("\nTentativi medi per far uscire la sequenza DNA lunga %d lettere=%20.0Lf", lunghezzaDNA, casi_possibili / 2);
		printf("\nNumero di secondi (in media) richiesti=%20Lf", casi_possibili / (operazioni * 2));
		printf("\nNumero di giorni  (in media) richiesti=%20Lf", casi_possibili / ((long double)(operazioni * 2) * 86400));
		printf("\nNumero di anni    (in media) richiesti=%20Lf", casi_possibili / ((long double)(operazioni * 2) * 86400 * 365));
		printf("\n(Eta' dell'universo in anni=13 miliardi e 800 milioni, in giorni = %20LF", (long double)13800000000 * 356.4);
		printf("\n\nPremi invio...");
		getchar();
	} while (lunghezzaDNA > 0);
	return 0;
}
