Submeter | Todas submissőes | Melhores | Voltar |
ONZE - Você pode dizer 11 |
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.
Autor do Problema: David Déharbe
Adicionado por: | Wanderley Guimarăes |
Data: | 2008-07-09 |
Tempo limite: | 1s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL |
Origem: | Segunda Seletiva para Maratona de Programacao UFRN - 2005 |
hide comments
|
||||||||
2016-03-18 02:36:26
Está passando mesmo com erro, esqueci de converter os caracteres para inteiros e aceitou. Last edit: 2016-03-18 03:11:21 |
||||||||
2015-06-05 21:30:08 Renato Cassino Marques dos Santos
O Frederico Miranda Brandão Alves tem razão. Estava retornando erro pra mim porque se eu colocasse, por exemplo: 0000000011 O programa retornava: 11 is a multiple of 11. Deve retornar: 0000000011 is a multiple of 11. Resposta aceita xD |
||||||||
2015-03-01 04:19:42 Italo Rodrigo
Dica: ler o número como uma string, fazer um for para percorrer cada caracter. Se for de índice ímpar adiciona aquele valor ŕ uma variável de soma ímpar, caso contrário, adiciona numa variável de soma par. Depois é só ver se a subtraçăo da varíavel ímpar menos a par for zero ou divisível por 11. Para pegar o valor do inteiro em um char é só fazer n[i]-48, por exemplo. Detalhe: como a string começa com índice 0, os valores de índices pares săo incrementados na variável ímpar e vice-versa. Last edit: 2015-03-01 04:26:57 |
||||||||
2014-05-05 20:21:22 Filipe Ravagnã Piga
Maneira rápida e fácil que consegui fazer em C, foi ler caracter a caracter da entrada padrăo, como caracter mesmo, e fazer cast para int comparando com valores da tabela ascii. Exemplo: char c; scanf("%c", &c); if( (int)c == 48 ) ... //se é o caracter zero if( (int)c == 10 ) ... //se é o caracter de final de linha |
||||||||
2014-04-13 01:26:55 Frederico Miranda Brandão Alves
Para quem está tendo dificuldade com o problema, lembre-se que năo basta saber álgebra. Também existem coisas como a seguinte: Entrada: 00000000000000011 000000000000000000000000000011 0000000000000000000000000012 0 Saída: 00000000000000011 is a multiple of 11. 000000000000000000000000000011 is a multiple of 11. 0000000000000000000000000012 is not a multiple of 11. Se fizer uma saída bonita, como: 11 is a multiple of 11. 11 is a multiple of 11. 12 is not a multiple of 11. Vai dar errado. |
||||||||
2013-11-22 15:06:39 Wyllian
Para quem está tendo dificuldades com esse problema, estudem: critérios de divisibilidade e/ou aritmética modular. Em java uma forma bastante simples de resolver é através de BigInteger. |
||||||||
2013-09-04 21:32:11 Bruno Emanuel de Ramos Campos
Java năo da kkkk |
||||||||
2013-08-24 13:17:17 Wallace Júnio Silva de Brito [IFMG/UFOP]
1000 digitos.. alguem sabe? |
||||||||
2013-07-25 03:10:30 Eduardo Maia [UECE]
vlw "Petterson Diniz". obrigado por esclarecer sobre o N==0; mesmo assim, ainda dá resposta errada, mesmo dando tudo certo aqui. |
||||||||
2013-07-22 03:43:16 Petterson Diniz
a questao do n=0 eh facil; testa se strcmp(numero,"0")==0; eu to usando o criterio de subritrair o ultimo algarismo do penultimo ate restar so 2, ai testo se divisivel por 11. roda normal no pc mas qndo envio da sigsegv. aii deixei pra la. Last edit: 2013-07-22 03:44:10 |