voltado a área gamer e tecnologia de informação

segunda-feira, 31 de julho de 2017

1+1=10, 10+1=11, 11+1=1=100. GOT IT?

1 + 11 + 111 + 1111 + 11111 + ... + 11...11111
Determine a soma seguinte em função de n:

S = 1 + 11 + 111 + 1111 + 11111 + ... + 11...11111, onde a última parcela é um número formado por n algarismos iguais a 1.

Solução:

Observe que poderemos reescrever a igualdade como segue:

S = 1 + (10+1) + (100+10+1) + (1000+100+10+1) + ... + cn
onde cn é a última parcela 11...11111, um número formado por n algarismos iguais à unidade.

Observando atentamente o segundo membro da igualdade acima, veremos que:
Primeiro termo = 1 = 100
Segundo termo = 10 + 1 = 101 + 1
Terceiro termo = 100 + 10 + 1 = 102 + 101 + 1
Quarto termo = 1000 + 100 + 10 + 1 = 103 + 102 + 10 + 1

e assim sucessivamente.

É razoável supor, baseado nas igualdades anteriores, que o termo de ordem n
(n-ésimo termo) cn será dado por:
cn = 10n-1 + 10n-2 + 10n-3 + ... + 10 + 1

A soma S poderá ser reescrita como:

S = 1 + (10+1) + (100+10+1) + (1000+100+10+1) + ... + 10n-1 + 10n-2 + 10n-3 + ... + 10 + 1
contendo n termos, ou seja, a soma dada no enunciado possui sempre n parcelas.

Ou na forma equivalente:
S = 1 + (10+1) + (102+10+1) + (103+102+10+1) + ... + 10n-1 + 10n-2 + 10n-3 + ... + 10 + 1

Vamos escrever as parcelas acima na forma abaixo, de modo a ajudar na análise:
1
10  + 1
102 + 10 + 1
103 + 102  + 10 + 1
104 + 103 + 102 + 10 + 1
105 + 104 + 103 + 102 + 10  + 1
106 + 105 + 104 + 103 + 102 + 10 + 1
.................................................................
......................................................................
10n-1 + 10n-2 + 10n-3 + ... + 10 + 1

Verifique que na soma acima:

O número 1 aparece em todos os termos e, portanto, aparece n vezes.
O número 10 aparece em (n –1) termos e, portanto aparece (n – 1) vezes.
O número 100 = 102  aparece (n – 2) vezes
O número 1000 = 103 aparece (n – 3) vezes e assim sucessivamente.

Portanto poderemos escrever:

S = 1.n + 10(n-1) + 102(n-2) + 103(n-3) + ... + 10n-1(n-(n-1))
S = 1.n + 10(n-1) + 102(n-2) + 103(n-3) + ... + 10n-1
S = n + 10(n - 1) + 102(n - 2) + 103(n - 3) + ... + 10n-1
Como S é uma soma de valor positivo, o máximo valor que n poderá assumir na igualdade acima será igual ao número de parcelas consideradas. Esta fórmula é a solução do problema proposto, pois expressa a soma em função de n.

Vejamos alguns exemplos:

n = 1
Þ S1 = 1
n = 2
Þ S2 = 2 + 10(2-1) = 12 = 1 + 11
n = 3
Þ S3 = 3 + 10(3-1) + 102(3-2) = 3 + 20 + 100 = 123 = 1 + 11 + 111
n = 4
Þ S4 = 4 + 10(4-1) + 102(4-2) + 103(4-3) = 1234 = 1 + 11 + 111 + 1111
n = 5 Þ S5 = 5 + 10(5-1) + 102(5-2) + 103(5-3) + 104(5-4) = 12345 = 1+11+111+1111+11111
e assim sucessivamente.

Vamos formar uma tabela resumo contendo os 10 primeiros resultados da soma proposta no problema:


n
Soma
Resultado
1
1
1
2
1 + 11
12
3
1 + 11 + 111
123
4
1 + 11 + 111 + 1111
1234
5
1 + 11 + 111 + 11111
12345
6
1 + 11 + 111 + 1111 + 11111 + 111111
123456
7
1 + 11 + 111 + 1111 + 11111 + 111111 + 1111111
1234567
8
1 + 11 + 111 + 1111 + 11111 + 111111 + 1111111 + 11111111
12345678
9
1 + 11 + 111 + 1111 + 11111 + 111111 + 1111111 + 11111111 + 111111111
123456789
10
1 + 11 + 111 + 1111 + 11111 + 111111 + 1111111 + 11111111 + 111111111 + 1111111111
1234567900

De uma forma geral, conforme já vimos, a soma de n parcelas será dada em função de n pela expressão:

S = n + 10(n - 1) + 102(n - 2) + 103(n - 3) + ... + 10n-1

Exemplo:

para n = 11, a fórmula acima dará:

S11 = 11 + 10(11 – 1) + 102(11 – 2) + 103(11 – 3) + 104(11 – 4) + 105(11 – 5) +
+ 106(11 – 6) + 107(11 – 7) + 108(11 – 8) + 109(11 – 9) + 1010(11 – 10)   =
= 12345679011
Realmente, o valor da soma
1+11+111+1111+11111+111111+1111111+11111111+111111111+1111111111++11111111111 = 12345679011, obtido efetuando-se a conta pelo método usual, senão vejamos:


 
1
 
11
 
111
 
1111
 
11111
 
111111
+
1111111
 
11111111
 
111111111
 
1111111111
 
11111111111
 
12345679011

Share:

quarta-feira, 12 de julho de 2017

Lista II Matlab Engenharia


Daniel Ribeiro Nodari                    
Lista 2            algoritmos e linguagem de programação.


1.  
clear all
clc
% Faça um algoritmo que leia duas matrizes de tamanho 4 x 4.
%Em seguida, mostre quantos são positivos e quantos são negativos.
X=[67 -12 87 25; 26 -94 52 09; 21 48 -81 26; 59 72 28 -72];
Y=[-16 39 32 76; 94 -62 00 08; 32 -86 74 56; -09 60 -37 2];

%contador positivos = C
C=0;
%contador negativos = D
D=0;

% after entering v,run below code
 for i = 1:length(X)
     if X(i) > 0
         C=C+1
     elseif X(i) <0
           D=D+1;
     end
 end
 for i = 1:length(Y)
     if Y(i) > 0
         C=C+1
     elseif Y(i) <0
           D=D+1;
     end
 end
 fprintf('os positivos são %d',C);
 fprintf('os negativos são %d',D);
no command window:




2.     
clear all
clc
%exercicio 2
%Faça um algoritmo que leia 10 valores informados pelo usuário.
%Ao final deve retornar o maior e o menor valor.

for A=1:10
    d(1,A)= input('digite 1 numero : '); 
end
X=min(d);
Y=max(d);
fprintf('o menor é:   %d, e o maior é:  %d',X,Y);

no command window:






3.     

clear all
clc 
%exercicio  
% Faça um algoritmo que leia duas matrizes A e B de tamanho 4 x 4, 
% conte e mostre quais valores que estão na matriz A,  
% também aparecem na matriz B, independente de sua posição. 
  
A=[67 12 87 25; 26 94 32 09; 21 48 81 26; 59 76 28 47]; 
B=[67 21 32 76; 72 47 26 08; 25 86 12 56; 09 60 33 02]; 
  
 X = intersect(A, B); 
Y = (X)'; 
Z=length(X); 
  
fprintf('das duas matrizes há %d números comuns. Nos quais são: ',Z); 
disp(Y); 


no command window:






Share:

domingo, 9 de julho de 2017

Problema resolvido:  "exit is not declared in scope"

o problema é ocorrido por falta de uma biblioteca chamada "cstdlib"
na execução deve ser informado:

algoritmo de exemplo: 

#include <stdio.h>
#include <iostream>
#include <cstdlib>
using namespace std;
int a;
int b=0;
int main()
{
    while (b<4)
    {
        printf("informe valores para: \n 1-4 = sair: ");
        scanf("%d",&a);
        if (a==1)
        {
            exit(0);
         
        }
        if (a==3)
        {
            exit(0);
         
        }
        if (a==3)
        {
            exit(0);
         
        }

    }

}





Share:

sábado, 8 de julho de 2017

algoritmo pra ler 15 valores MATLAB





1- criando algoritmo pra ler 15 valores e mostrar o números de pessoas por faixa etária.
linguagem :: MATLAB

clear all % limpando a workspace
clc % limpando a command window
junior=0;             % }\
crianca=0;           % } \
adolescente=0;    % }   \
jovem=0;            % }     |> declarando todas as variáveis
adulto=0;            % }    /
idoso=0;             % }  /
nao=0;                % }/

for x=1:1:15 % pede para que o usuário digite 15 valores q no caso e as respectivas idades;
     z(1,x)= input('digite uma idade: ');
           if z(1,x)>=1
                if z (1,x)<=130
                     if z(1,x)<=3 && z(1,x)>0
                          junior=junior+1;
                     end
                     if z(1,x)<=11 && z(1,x)>3
                          crianca=crianca+1;
                    end
                    if z(1,x)<=17 && z(1,x)>11
                         adolescente=adolescente+1;
                    end
                    if z(1,x)<=25 && z(1,x)>17
                         jovem=jovem+1;
                    end
                    if z(1,x)<=60 && z(1,x)>25
                         adulto=adulto+1;
                    end
                    if z(1,x)>60 && z(1,x)<130
                         idoso=idoso+1;
                    end
               else
                    clc
                    z(1,x)=input('} atenção!{ \n 0 < idade < 130; \n idade invalida! \n digite novamente *-* >> ');
               end;
        else
                clc
                z(1,x)=input(' } atenção!{ \n 0 < idade < 130; \n idade invalida! \n digite novamente *-* >> ');
        end
end
disp('quantidade de pessoas por faixa etaria: ')
fprintf('a quantidade de juniors é: %d \n',junior)
fprintf('a quantidade de criancas é: %d \n',crianca)
fprintf('a quantidade de adolescentes é: %d \n',adolescente)
fprintf('a quantidade de jovens é: %d \n',jovem)


duvidas :: comentarios
by: Daniel Nodari


Share:

Blogger news

Total de visualizações de página

Algoritmos e Linguagens de Programação

Recent Posts

Unordered List

Theme Support