Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

radioh

Linguagem C

Recommended Posts

Pessoal bom dia, é o seguinte, estou com um problema aqui e não consigo resolver:

 

O programa deve ler um número inteiro positivo e escrever todas as

somas de 3 parcelas distintas, a + b + c , cujo resultado seja esse número e

cujas somas difiram, pelo menos, num número, independentemente da

posição que ocupe.

Por exemplo, se 12 for o inteiro lido, o programa deve escrever as

seguintes somas

 

(1 + 2 + 9)=12

(1 + 3 + 8)=12

(1 + 4 + 7)=12

(1 + 5 + 6)=12

(2 + 3 + 7)=12

(2 + 4 + 6)=12

(3 + 4 + 5)=12

 

Note que a soma 1+ 9 + 2 deve ser considerada uma repetição de

1+ 2 + 9 .

alguem saberia me dizer como fazer isso ?

 

agradeço pessoal

bom fds pra todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

É só definir o extremo e depois ir subtraindo dele e acrescentando ao menor numero. Ex: O numero que entrou foi 12.

i = 1

j = 2

k(extremo) = 9

Vai tirando do 9 e pondo no j, depois faiz isso com i e por aí vai.

Se ainda nao conseguir(ou se jah viu o cod que eu puis =P) volte abrss.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom ficou assim .

 

/* Função : O programa deve ler um número inteiro positivo e escrever todas as
			somas de 3 parcelas distintas, a + b + c , cujo resultado seja esse número e
			cujas somas difiram, pelo menos, num número, independentemente da
			posição que ocupe.
			Por exemplo, se 12 for o inteiro lido, o programa deve escrever as
			seguintes somas

			(1 + 2 + 9)=12
			(1 + 3 + 8)=12
			(1 + 4 + 7)=12
			(1 + 5 + 6)=12
			(2 + 3 + 7)=12
			(2 + 4 + 6)=12
			(3 + 4 + 5)=12

			Note que a soma 1+ 9 + 2 deve ser considerada uma repetição de
			1+ 2 + 9 
   Autor : Adriano - F5cursos.com
*/
#include <stdio.h>
#include <conio.h>

main()
{
int A, B, C, Num, Resultado;
printf("Informe um numero: ");
scanf("%d", &Num);

for (A = 1; A <= Num; A++) 
{
	for (B = 0; B <= Num; B++)
	{
		for (C = 0; C <= Num; C++)
		{
			Resultado = A + B + C;
			if (A != B && A != C && B != C && Resultado == Num)
			{
			if (A < B && A < C && B < C)
			printf("\n%d + %d + %d = %d \n", A, B, C, Resultado);
			}
			}
			}
			}
			printf("\n\n");
system("PAUSE");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.