Curtir Curtir:  0
Página 27 de 27 PrimeiroPrimeiro ... 17252627
Resultados 261 a 262 de 262

Tópico: Discussão sobre Programação

  1. #261
    Avatar de Pearkoren
    Registro
    12-01-2007
    Idade
    32
    Posts
    1.657
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Eu denovo aqui ;S

    Agora tenho um problema estranho, o que eu tenho que fazer é receber um número (de até 1000 digitos) e dizer se ele é multiplo de 11.

    Como devem saber nenhuma variavel em C++ suporta isso, então recebi o numero como uma string e usei cada caracter como se fosse um número, após isso apliquei uma propriedade de números divisiveis por 11, que é:

    Se a soma dos algarismos de posições pares e a soma dos algarismos de posições ímpares tiverem o mesmo resto da divisão por onze, então o número tomado é divisível por onze.
    Compilei, rodou, testei com números realmente grandes (11^900) e deu certo, mas o maldito site insiste que minha resposta está errada.

    problema:
    A sua tarefa é, dado um número positivo N, determinar se ele é um múltiplo de onze.

    Entrada
    A entrada é um arquivo onde cada linha contém um número positivo. Uma linha contendo o número 0 sinaliza o fim da entrada. Os números dados podem conter até 1000 dígitos.

    Saída
    A saída do programa deve indicar, para cada número da entrada, se ele é um múltiplo de onze ou não.

    Exemplo de Entrada
    112233
    30800
    2937
    323455693
    5038297
    112234
    0

    Exemplo de Saída
    112233 is a multiple of 11.
    30800 is a multiple of 11.
    2937 is a multiple of 11.
    323455693 is a multiple of 11.
    5038297 is a multiple of 11.
    112234 is not a multiple of 11.
    código que fiz até agora:
    Código:
    #include <iostream>
    #include <stdio.h>
    #include <string>
    #include <string.h>
    
    int main(){
    		char numero[1005][1005];  //array de string
    		int par=0, impar=0,posPar=0,posImpar=1,i =0,z,gl; //variaveis auxiliares
    		bool validados[1005]; //variavel para validar o numero
    
    		scanf("%s", numero[0]);
    
    		//enquanto não for informado zero, fazer:
    		while(strcmp(numero[i],"0")!=0){
    			int numEditTamanho = strlen(numero[i]);	
    
    			//arrancando zeros a esquerda
    			while(numero[i][0] == '0')
    				for(gl=0;numero[i][gl]!='\0';gl++)
    					numero[i][gl] = numero[i][gl+1];
    
    			//pegando resto se o numero for pequeno
    			if (atol(numero[i]) < 1000000000) {
    				if (atol(numero[i]) % 11 == 0)
    					validados[i] = true;
    				else
    					validados[i] = false;
    
    			//caso seja muito grande, fazer a somatoria dos digitos pares e impares
    			} else {
    				
    				while(posPar < numEditTamanho && posImpar < numEditTamanho){
    					if (posPar < numEditTamanho)
    						par += numero[i][posPar] - 48;
    						
    					if (posImpar < numEditTamanho)
    						impar += numero[i][posPar] - 48;
    
    					posPar += 2;
    					posImpar += 2;
    				}
    				//se o resto da divisão por 11 dos 2 forem iguais, então é divisivel por 11
    				if ((par % 11) == (impar % 11))
    					validados[i] = true;
    				else
    					validados[i] = false;
    				//zerando variaveis para o próximo loop
    				par=0;
    				impar=0;
    				posPar=0;
    				posImpar=1;
    			}
    			//incrementando contador do loop, e lendo próximo numero
    			i++;
    			scanf("%s", numero[i]);
    		}
    		
    		//exibindo resultados		
    		for (z =0; z <i ; z++ ){
    			std::cout<<"\n";
    			if (validados[z])
    				std::cout<<numero[z]<<" is a multiple of 11.";
    			else
    				std::cout<<numero[z]<<" is not a multiple of 11.";		
    		}
    	
    	return 0;	
    }

    Publicidade:


    Jogue Tibia sem mensalidades!
    Taleon Online - Otserv apoiado pelo TibiaBR.
    https://taleon.online
    I needed somewhere to hang my head; Without your noose
    You gave me something that I didn't have; But had no use
    I was too weak to give in; Too strong to lose
    My heart is under arrest again; But I'll break loose
    My head is giving me life or death; But I can't choose
    I swear I'll never give in; I refuse

  2. #262
    Avatar de Boots of Haste
    Registro
    12-10-2005
    Localização
    Porto Alegre
    Idade
    33
    Posts
    1.674
    Conquistas / PrêmiosAtividadeCurtidas / Tagging InfoPersonagem - TibiaPersonagem - TibiaME
    Peso da Avaliação
    0

    Padrão

    Vagando pela net encontrei o tal de Project Euler.

    Alguém participa? Dicas?
    Qual linguagem vocês me recomendam resolvê-los?



Tópicos Similares

  1. [Artigo Oficial] 50 respostas dos product managers
    Por Anderslash no fórum Matérias TibiaBR
    Respostas: 199
    Último Post: 27-06-2010, 21:41
  2. Discussão sobre as Bandas de Metal e o gênero em si
    Por El Bozonildo Palhaçón no fórum Fora do Tibia - Off Topic
    Respostas: 111
    Último Post: 18-09-2009, 18:42
  3. Sobre o Amor, Sobre o olhar, Sobre o Poeta
    Por InaaKun no fórum Fora do Tibia - Off Topic
    Respostas: 21
    Último Post: 05-01-2008, 17:44
  4. Taverna | Bope
    Por Toog no fórum Fora do Tibia - Off Topic
    Respostas: 21
    Último Post: 14-10-2007, 00:42

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •