Alguém pode me ajudar a resolver essas questões?
Questão 1
As funções qd(n,p) que dado um número n e uma posição p (p= 0 corresponde aos dígitos das unidades, p = 1 ao digito das dezenas , etc) retorna o digito, e nd (n) que retorna o número de digitos são dadas. Se desejar, você pode usar recursividade, ou então resolver por casos.
Verifique se dado um número com no máximo 6 dígitos, ele é :
a)Um numero é novo se o produto dos seus dígitos ímpares acrescido do seu menor dígito for divisível por 7.
Aqui tá a resolução que eu tentei:
int novo(int n){return (pdi(n) + md(n))%7==0?1:0}
------------------------------------------------------------------
int pdi1(int n){return (1digitoimpar);}int pdi2(int n){return (1digitoimpar*2digitoimpar);}int pdi3(int n){return (1digitoimpar*2digitoimpar*3digitoimpar);}int pdi4(int n){return (1digitoimpar*2digitoimpar*3digitoimpar*4digitoimpar);}int pdi5(int n){return (1digitoimpar*2digitoimpar*3digitoimpar*4digitoimpar*5digitoimpar);}int pdi6(int n){return (1digitoimpar*2digitoimpar*3digitoimpar*4digitoimpar*5digitoimpar*6digitoimpar);}
-------------------------------------------------------------------
int 1digitoimpar(int n){return 1digitoimpar((qd(n,0))%2==1?1:0);}int 2digitoimpar(int n){return 2digitoimpar((qd(n,0))%2==1?
------------------------------------------------------------------
Um número é antigo se ele menos 5 unidades não for novo ou se a quantidade de dígitos 2 do número for maior do que a quantidade de dígitos 4 e 9 do terço do número.
c) Um número é copiador se a primeira metade não for nova e a segunda metade do seu quadrado for antiga. [ A 1ª metade de 123456 é 123, a 2ª metade é 456 (número par de dígitos). A 1ª metade de 12345 é 123, a 2ª metade é 345 (número ímpar de dígitos)]
d) Um número é inovador se a metade do seu reverso (número escrito ao contrário) é múltiplo da soma dos seus dígitos pares. O número possui um número ímpar de dígitos e não possui dígitos zero.