Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.