Tempter 0 Denunciar post Postado Agosto 31, 2005 Pessoal , você sabem me dizer como posso fazer para estes meus codigos funcionarem com valores altos ? eles estão funcionando bem mas quando tento com valor acima de 10000 por exemplo já tenho problemas :/ Já tentei LONG e etc mais ainda não sei trabalhar com isso...s e alguem puder ajudar. Este calcula o fatorial de um número /*====== FATORIAL =======*/#include <conio.h>#include <stdio.h>int fatorial (int numero);void main(){ int numero=0; clrscr(); printf("Digite um numero = "); scanf("%d",& numero); printf("\nO fatorial e igual a %d", fatorial(numero)); getch();}int fatorial (int numero){ int contador, fator; fator = numero; for (contador = 1; contador < numero; contador++) { fator = fator * contador; } return (fator);} Este diz quantos digitos tem o número digitado. /*====== QUANTIDADE DE DIGITOS =======*/#include <conio.h>#include <stdio.h>int tamanho (int numero);int main(){ int numero; clrscr(); printf("Digite um numero inteiro = "); scanf("%d",& numero); printf("\nO tamanho deste numero e %d", tamanho(numero)); getch(); return (0);}int tamanho (int numero){ int i, tam=0; for (i = 0; numero > 0; i++) { tam++; numero = numero/10; } return (tam);} Obs: se alguem tiver uma forma melhor de fazer o que estou fazendo com qualquer um dos dois eu agradeço. OBS: COLOQUEI O TITULO ERRADO, É FATORIAL E CONTAGEM DE DIGITOS. DESCULPEM. Compartilhar este post Link para o post Compartilhar em outros sites
Guybrush 0 Denunciar post Postado Setembro 1, 2005 Use o doubledouble variavel; Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Setembro 1, 2005 Poxa cara funcionou, legal :) brigadão memso. o de fatorial ficou assim ó #include <conio.h>#include <stdio.h>double fatorial (double numero);void main(){ double numero=0; clrscr(); printf("Digite um numero = "); scanf("%lf",& numero); printf("\nO fatorial e igual a %.0lf", fatorial(numero)); getch();}double fatorial (double numero){ double contador, fator; fator = numero; for (contador = 1; contador < numero; contador++) { fator = fator * contador; } return (fator);} é lagl usar Double em todas as variáveis assim ? ou seria melhor usar só na saida ? Já no outro caso, o de contar quantas casas tem o númer digitado deu errado... pois com o mesmo código que eu postei antes, só mudando INT pra DOUBLE dá erro na hora de contar as casas, na divisão que eu fiz... você saberia me dizer uma possível solução ? Aliás, este DOUBLE é pra números de qualquer tamanho de grandeza ? pois com ele então eu poderia fazer cálculos físicos de milhares de casas nos números ? Valeu mesmo pela ajuda. Abraços e boa tarde Compartilhar este post Link para o post Compartilhar em outros sites
Guybrush 0 Denunciar post Postado Setembro 1, 2005 o double é bem gigantetem também o long doublee por ai vai... Compartilhar este post Link para o post Compartilhar em outros sites
Guybrush 0 Denunciar post Postado Setembro 1, 2005 a proposito tu que fez o site do within ?pow curto bastante a banda.. Compartilhar este post Link para o post Compartilhar em outros sites
Tempter 0 Denunciar post Postado Setembro 2, 2005 Putz cara valeu memso, ajudou muito suas explicações :) Sobre o site, fui eu sim quem fez hehe... aliás, estou meio parado com ele pois to passando tudo pra php. logo tem coisas novs :D abraço Compartilhar este post Link para o post Compartilhar em outros sites