Ir para conteúdo

POWERED BY:

Arquivado

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

VaNdo.WcG

[Resolvido] Dois Algoritmos...

Recommended Posts

Estou com dois exercicios aqui, qual não consigo faze, o primeiro e esse, que nem comecar consegui:

1. O número 3025 possui a seguinte característica: 30 + 25 = 55 -> 55*55 = 3025. Fazer um programa para obter todos os números de 4 algarismos com a mesma característica do número 3025.

Como eu faca pra desmembrar um numero em 2 assim?!?!O outro e o seguinte:

2. Fazer um algoritmo para determinar e escrever o valor do seguinte somatório: S = X – X2/3! + X4/5! – X6/7! + X8/!9 - ...usando os n primeiros termos do somatório. O valor de X e de n é fornecido pelo usuário.

Esse eu fiz, mas não deu certo, como eu faco um fatorial?! Tem alguma biblioteca e comando que faca isso?!O codigo 2 que não deu certo, a resposta sai errada:
#include <conio.h>#include <stdio.h>#include <math.h>/*2.	Fazer um algoritmo para determinar e escrever o valor do seguinte somatório: S = X - X2/3! + X4/5! - X6/7! + X8/!9 - ...usando os n primeiros termos do somatório. O valor de X e de n é fornecido pelo usuário.*/main()      {      int contt;      float n,x,xfat,s,den,num,ele,cfat,cont;      ele=2;      printf("Digite o numero de termos desejado:\n");      scanf("%f",&n);      printf("\nDigite um valor para X:\n");      scanf("%f",&x);      cfat=3;      s=x;      contt=1;      if (n==1)         {         s=x;         }         else {              do {                 den=pow(x,ele);                 ele=ele+2;                 cont=cfat;                 xfat=1;                 do {                    xfat=xfat*cont;                    cont--;                    } while (cont>0);                 cfat=cfat+2;                 if (contt%2==0)                    {                    s=s+(den/xfat);                    }                    else {                         s=s-(den/xfat);                         };                 contt++;                 n--;                 } while (n>=0);              };         printf("\nS=%.2f",s);      getch();      }
Obrigado, agradeco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza aew.. tem pouco tempo que mecho com C..

mas calcular fatorial eu sei!

 

Fatorial:

 

Cara fiz um programa exemplo aew que pergunta o numero para que deseja saber o fatorial,

então ele calcula... e mostra na tela..

a idéia é simples.

 

 

#include <stdio.h>int main (){//declarando as variáveisint c ,	   //contador	 n,	   //numero para calcular o fatorial	 fat;	 // guarda as multiplicações e no final é o fatorial// perguntar o numero para qual calcular o fatorialprintf("Numero: ");scanf("%d", &n); fat = 1; // inicia com 1, pois 0 vezes qualquer coisa é 0.for ( c = 1; c <= n; c++ ){	fat = fat *c;}//mostrar o resultadoprintf(" O fatorial do numero %d: %d", n , fat);return 0;}

O codigo que você fez aew eu nao entendi muito nao... =/

 

O primeiro exercício aew é do MAL heimn.. sinistro...

 

Eu imagino assim..

o 55 é a raiz de 3025,

Mas para achar o 30 e o 25 eu nao sei como..

 

Se conseguir pegar o 30 e o 25 aew é soh verificar se (30 + 25 == raiz de 3025)

 

 

espero ter ajudado aew..

Boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

E galera o lance é o seguinte vendo este exercicio de algoritmo, o primeiro eu fiz ele a poucos dias na facudade, apesar que o amigo Wando tenha postado a um ano atras mas sempre tem pessoas procurando por este algoritmoe como a palavra chave cai sempre aki, resolvi postar o meu algoritmo. Espero ter ajudado a quem está procurando por um algoritmo deste tipo.

 

# include <stdio.h>
main ()
{
	 int i, num, prin, seg;
	 for (i=1000; i<=9999; i++)
	 {
		 prin= (i/100);
		 seg= i%100;
		 if ((prin+seg) * (prin+seg)==i)
		 printf ("\no numero %d possui a mesma caracteristica que 3025. ",i);
}
getchar ();
				}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Roberto, pode explicar a lógica que você usou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai mano groove

 

criei um for para determinar um intervalo tipo for (i=1000; i<=9999; i++)

qt eu colocar i=1000 tanto faz qualquer numero desde que seja maior do que 1

2 variavel para receber o numero uma para divisão da parte inteira e outra para o resto

multiplicando as duas variavel e comparando com o numero calculado se for igual

numero com as mesma caracteristica

ex

numero = 2025

2025/100=20

e

2025%100=25

somando 20+25=45 e multiplica o 45 por ele mesmo e comparando com o numero inicial (2025=2025) possui a mesma caracteristica do 3025 vai armazenar na resposta

{

prin= (i/100);

seg= i%100;

if ((prin+seg) * (prin+seg)==i)

Compartilhar este post


Link para o post
Compartilhar em outros sites
2. Fazer um algoritmo para determinar e escrever o valor do seguinte somatório:

S = X – X2/3! + X4/5! – X6/7! + X8/!9 - ...

usando os n primeiros termos do somatório. O valor de X e de n é fornecido pelo usuário.

 

Esse eu fiz, mas não deu certo, como eu faco um fatorial?! Tem alguma biblioteca e comando que faca isso?!

 

 

Esses X2 , X4 por acaso não é 2*X , 4*X.... ?

Veja a definição de fatorial...É tudo multiplicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, tudo bem?!

 

Quanto tempo, rsrs... Obrigado pela ajuda, um ano depois, hehe. Ainda bem que deixei ativado para ser avisado por email.

 

Os problemas já foram solucionados, e nem foi tao dificil assim...

 

Os códigos estao abaixo, apesar de nao ter tido a oportunidade de testa-los novamente.

 

Ex.01:

#include <stdio.h>
#include <conio.h>

/*
1.	O número 3025 possui a seguinte característica: 30 + 25 = 55   -> 55*55 = 3025.
Fazer um programa para obter todos os números de 4 algarismos com a mesma característica do número 3025.
*/

main()
	  {
	  int num,AB,CD,soma,quadrado;
	  num=1000;
	  do {
		  AB=num/100; // Levando o numero 3025 como exemplo, fosse ABCD, aqui seria 30.
		  CD=num%100; // e aqui, 25.
		  soma=AB+CD; // 30 + 25.
		  quadrado=soma*soma; // 55 * 55.
		  if (quadrado == num) // Caso o numero apressente esse caracteristica, sera testado e impresso aqui.
			  printf("%d + %d = %d * %d = %d\n",AB,CD,soma,soma,num);
		  num++;
		 } while (num<=9999);
	  getch();
	  }

Ex.02:

#include <stdio.h>
#include <conio.h>
#include <math.h>

/*
2.	Fazer um algoritmo para determinar e escrever o valor do seguinte somatório: 
S = X - X2/3! + X4/5! - X6/7! + X8/!9 - ...
usando os n primeiros termos do somatório. O valor de X e de n é fornecido pelo usuário.
*/

main()
	{
	float fatorial,Nfatorial,ContFatorial,VALORX,SOMA;
	int NUMEROdeTERMOS,CONTADOR,EXPOENTE;
	printf("Digite o numero de termos desejados:\n");
	scanf("%d",&NUMEROdeTERMOS);
	printf("Digite o valor para X:\n");
	scanf("%f",&VALORX);
	CONTADOR=2;
	EXPOENTE=2;
	SOMA=0;
	ContFatorial=3;
	while (CONTADOR<=NUMEROdeTERMOS)
		{
			 Nfatorial=ContFatorial;
			 fatorial=Nfatorial;
			 while (Nfatorial>2)
				 {
				 fatorial=fatorial * (Nfatorial-1);
				 Nfatorial--;;
				 }
			 if (NUMEROdeTERMOS==1)
				  SOMA=VALORX;
					   else
					   {
							if (CONTADOR%2==0)
								 {
									  SOMA=SOMA-(pow(VALORX,EXPOENTE)/fatorial);
									  EXPOENTE=EXPOENTE+2;
								 }
									  else
									  {
										   SOMA=SOMA+(pow(VALORX,EXPOENTE)/fatorial);
										   EXPOENTE=EXPOENTE+2;
									  }
					   };
			 CONTADOR++;
			 ContFatorial=ContFatorial+2;
		}
		SOMA=SOMA+VALORX;
		printf("O valor de S, sera:%.5f.",SOMA);
	getch();
	}

Mais uma vez, grato.

Problema solucionado, na época, ninguem se interessou, acabou ficando o tópico para trás desapercebido. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

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.