anrita Posted December 7, 2016 at 09:55 AM Report Share #601064 Posted December 7, 2016 at 09:55 AM estou com problemas num exercício em que é introduzido um numero, por exemplo 7, e no final aparece a soma de tres valores que dá o numero introduzido inicialmente, como isto: 5+1+1 4+2+1 3+3+1 3+2+2 Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 7, 2016 at 10:00 AM Report Share #601065 Posted December 7, 2016 at 10:00 AM afinal qual é a dúvida ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
brunuu Posted December 7, 2016 at 10:20 AM Report Share #601066 Posted December 7, 2016 at 10:20 AM Tu queres por exemplo que aparece todas as somas possiveis que dá para fazer entre 3 números para dar 7 correto? Link to comment Share on other sites More sharing options...
anrita Posted December 7, 2016 at 10:30 AM Author Report Share #601068 Posted December 7, 2016 at 10:30 AM Não consigo fazer o programa para isso acontecer, mas com qualquer número Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 7, 2016 at 11:03 AM Report Share #601070 Posted December 7, 2016 at 11:03 AM mas que métodos já pensaste que podem resolver isso ? qualquer coisa ... alguma coisa ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
anrita Posted December 7, 2016 at 11:07 AM Author Report Share #601071 Posted December 7, 2016 at 11:07 AM tentei fazer assim #include <stdio.h> int main() { int n, a, b, c; printf("introduza valor:"); scanf("%d", &n); a=n-1; b=0; c=0; if(a<=2) printf("nao tem soma"); else while(a>b) { a=a-1; b=b+1; c=n-(a+b); printf("\n%d+%d+%d", a, b, c); } } Link to comment Share on other sites More sharing options...
anrita Posted December 7, 2016 at 11:12 AM Author Report Share #601073 Posted December 7, 2016 at 11:12 AM Mas não dá... Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted December 7, 2016 at 11:19 AM Report Share #601074 Posted December 7, 2016 at 11:19 AM (edited) já é um começo, no entanto, a analisar o código, o que vejo é isto: while (a < b) { a--; // decrementar o 'a' b++: // incrementar o 'b' } o que indica que o valor de B está directamente relacionado com 'A', o que não é verdade como por exemplo do valor de 9 para N. 9 = 5+3+1 9 = 5+2+2 9 = 4+4+1 9 = 4+3+2 9 = 3+3+3 como podes ver, para o mesmo A, existem mais do que um B em vários casos. o que necessitas é de mais ciclos Edited December 7, 2016 at 10:36 PM by HappyHippyHippo example corrected 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
antseq Posted December 7, 2016 at 11:59 AM Report Share #601079 Posted December 7, 2016 at 11:59 AM 35 minutos atrás, anrita disse: Mas não dá... geralmente quem começa a programar, consegue na mesma resolver o problema a força bruta (brute-force), nomeadamente variando A, B e C nos diversos valores possíveis e comparando sempre se (A+B+C=N) antes de imprimir/output. tente resolver desta forma e depois tente optimizar o código. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now