#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

#define MAX_TAM 100

questao1(){
	int original[MAX_TAM];
	int sentOriginal;
	int gerada[MAX_TAM];
	int sentGerada;
	int iCont, jCont;
	int N;
	
	int atual, ocorrencia;

	printf(&quot;Informe o numero de sequencias a serem geradas:\n&quot;);
	scanf(&quot;%d&quot;, &amp;N);

	
	printf(&quot;Informe o tamanho da sequencia de entrada:\n&quot;);
	scanf(&quot;%d&quot;, &amp;sentOriginal);
	
	for(iCont = 0; iCont &lt; sentOriginal; iCont++){
		printf(&quot;Informe o %d elemento da sequencia:\n&quot;, iCont);
		scanf(&quot;%d&quot;, &amp;original[iCont]);
	}

	printf(&quot;**************************************\n&quot;);

	for(jCont = 0; jCont &lt; N; jCont++){
		for(iCont = 0; iCont &lt; sentOriginal; iCont++)
			printf(&quot;%d&quot;, original[iCont]);
		
		for(iCont = 0, sentGerada = 0; iCont &lt; sentOriginal; iCont++){
			atual = original[iCont];
			ocorrencia = 0;
			while(atual == original[iCont] &amp;&amp; iCont &lt; sentOriginal){
				ocorrencia++;
				iCont++;	
			}
			gerada[sentGerada++] = ocorrencia;
			gerada[sentGerada++] = atual;
			iCont--;
		}
		printf(&quot;\n&quot;);	
		
		for(iCont = 0; iCont &lt; sentGerada; iCont++)
		  original[iCont] = gerada[iCont]; 
		
		sentOriginal = 	sentGerada;
	}
}

questao2(){
	int num;
	int iCont;
	int somaDivisores;
	int K;
	int qtdeAbundantes;

	printf(&quot;Informe a quantidade de abundantes:\n&quot;);
	scanf(&quot;%d&quot;, &amp;K);
	
	qtdeAbundantes = 0;
	num = 1;
	
	while(qtdeAbundantes &lt; K){
		for(iCont = 1, somaDivisores = 0; iCont &lt;= num; iCont++){
			if(num%iCont == 0)
				somaDivisores += iCont; 
		}	
		if(somaDivisores &gt; 2 * num){
		  printf(&quot;%d &quot;, num);
		  qtdeAbundantes++;
	    }
	    num++;
	};
	  
	
}

questao3(){
	char string[MAX_TAM];
	int sentString;
	int iCont, jCont;
	int tamBloco;
	int posAlfabeto;
	int valor;
	int hash;

	printf(&quot;Informe o tamanho do bloco:\n&quot;);
	scanf(&quot;%d&quot;, &amp;tamBloco);


	printf(&quot;Informe o tamanho da string de entrada:\n&quot;);
	scanf(&quot;%d&quot;, &amp;sentString);
	
	for(iCont = 0; iCont &lt; sentString; iCont++){
		printf(&quot;Informe o %d elemento da string:\n&quot;, iCont);
		fflush(stdin);
		scanf(&quot;%c&quot;, &amp;string[iCont]);
	}

	for(iCont = 0; iCont &lt; sentString; iCont++)
		printf(&quot;%c&quot;, string[iCont]);
	printf(&quot;\n&quot;);	
	
		
	for(iCont = 0, hash = 0; iCont &lt; sentString; iCont++){
		if(string[iCont] &gt;= &#039;A&#039; &amp;&amp; string[iCont] &lt;= &#039;Z&#039;)
		  posAlfabeto = string[iCont] - &#039;A&#039;;
		else
		  posAlfabeto = string[iCont] - &#039;a&#039;;    
	    valor = posAlfabeto + (iCont % tamBloco) + (iCont / tamBloco);
		hash += valor;  
	}	
	
	hash %= 100;
	
	printf(&quot;HASH DA STRING : %d\n&quot;, hash);
	
	
}

main() {
 questao2();	
}
