domingo, 16 de julho de 2017

C # NÚMERO FELIZ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {          
            List<int> lista = new List<int>();
            for (int i = 0; i < 100; i++)
                if (VerificarNumero(i)) lista.Add(i);
            var recebe = GerarListaNumeros();

            lista.ForEach(i => Console.WriteLine("Feliz {0}", i));
            Console.ReadKey();

        }      

        public static List<int> GerarListaNumeros()
        {
            List<int> lista = new List<int>();
            for (int i = 0; i < 100; i++)
                if (VerificarNumero(i)) lista.Add(i);
            return lista;
        }

        public static bool VerificarNumero(int numero)
        {
            bool numeroFeliz = false;
            List<int> listaDigitos = new List<int>();
            listaDigitos = DividirDigitos(numero);
            for (int i = 0; i < 20 && !numeroFeliz; i++)
            {
                int sumaActual = CalcularQuadrados(listaDigitos);
                if (sumaActual != 1)
                    listaDigitos = DividirDigitos(sumaActual);
                else numeroFeliz = true;
            }
            return numeroFeliz;
        }
       
        public static List<int> DividirDigitos(int digito)
        {
            List<int> digitos = new List<int>();
            while (digito != 0)
            {
                digitos.Add(digito % 10);
                digito = digito / 10;
            }
            return digitos;
        }
       
        public static int CalcularQuadrados(List<int> listaDigitos)
        {
            int resultado = 0;
            foreach (int elem in listaDigitos) resultado += elem * elem;
            return resultado;
        }
    }
}

C # NÚMERO SORTUDO

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication2
{
    class Program
    {
        public class NumeroSortudo
        {
            public string GetNumeroSortudo(int range)
            {
                return ImprimirResultado(FindNumeroSortudo(range));
            }

            public string GetsortudoPrimoNumeros(int range)
            {
                bool[] numeros = FindNumeroSortudo(range);

                for (int i = 0; i < numeros.Length; i++)
                {
                    if (numeros[i]) continue;
                    numeros[i] = !NumeroPrimo(i + 1);
                }

                return ImprimirResultado(numeros);
            }

            private bool[] FindNumeroSortudo(int range)
            {
                if (range < 1) range = 0;
                bool[] numeros = new bool[range];
                int sortudoContar = 2;

                while (sortudoContar < numeros.Length)
                {
                    sortudoContar = NumeroFora(numeros, sortudoContar);
                }

                return numeros;
            }

            private int NumeroFora(bool[] numeros, int sortudoContar)
            {
                int contador = 0;

                for (int i = 0; i < numeros.Length; i++)
                {
                    if (numeros[i]) continue;
                    contador++;

                    if (contador == sortudoContar)
                    {
                        numeros[i] = true;
                        contador = 0;
                    }
                }

                return GetsortudoContar(numeros, sortudoContar);
            }

            private int GetsortudoContar(bool[] numeros, int pular)
            {
                if (pular >= numeros.Length) return numeros.Length;

                for (int i = pular; i < numeros.Length; i++)
                {
                    if (!numeros[i]) return i + 1;
                }

                return numeros.Length;
            }

            private static bool NumeroPrimo(int numero)
            {
                if (numero == 1) return false;

                for (short i = 3; i <= Math.Sqrt(numero); i += 2)
                {
                    if (numero % i == 0) return false;
                }

                return true;
            }

            private static string ImprimirResultado(bool[] numeros)
            {
                string resultado = string.Empty;

                for (int i = 0; i < numeros.Length; i++)
                {
                    if (!numeros[i]) resultado = resultado + (i + 1) + ",";
                }

                if (!string.IsNullOrEmpty(resultado)) resultado = resultado.Substring(0, resultado.Length - 1);

                return resultado;
            }
        }


        static void Main(string[] args)
        {
            // arrange
            NumeroSortudo sortudo = new NumeroSortudo();
            IDictionary<int, string> CasoTeste = new Dictionary<int, string>();
            for (int i = 0; i < 100; i++)
            {
                CasoTeste.Add(i, Convert.ToString(i));              
            }
            // act
            foreach (var testCase in CasoTeste)
            {
                string resultado = sortudo.GetNumeroSortudo(testCase.Key);

                // assert
                Console.WriteLine("{0}", resultado);
               
            }
            Console.ReadKey();
        }
       
    }
}

HTML - TABELA DE ACENTOS

Abaixo segue uma pequena tabela de acentos para serem utilizados no seu html.



Você somente precisa selecionar o acento que deseja, copiar e colar no código.

Um forte abraço a todos

Wellington Pereira
Alias (Samurai)

sábado, 24 de junho de 2017

MACBOOK - PRINT SCREEN

A tecla Print Screen, responsável pela captura de tela, a qual gera uma imagem de tudo que está na tela do computador não está presente no Mac. 
Mais uma coisa boa que preciso mencionar é que diferente do Windows onde o usuário precisa de programa para colar a imagem (Paintbrush, Photoshop, Word, etc) para depois salvá-la. No Mac, as coisas são um pouco diferentes. Por exemplo, você pode salvar a imagem sem precisar de programa algum. Além disso, você pode capturar uma tela inteira, um pedaço dela, ou somente uma janela… Você também mandar para o clipboard (área de transferência) para colar no programa que quiser, também pode. Funciona assim:



Teclas de captura de tela

Command+shift+3
Captura a tela inteira e salva numa imagem no seu Desktop (Mesa), em formato PNG.

Command+shift+4 
Captura parte da tela que você escolher, e salva no seu Desktop (Mesa). Ao usar esta combinação, o cursor do mouse vira um alvo e você seleciona a área que quer capturar. Você arrasta e quando soltar ele automaticamente captura a tela.

Command+shift+4 barra de espaço
Insto faz com que o ponteiro do mouse que era um alvo vira uma câmera, e você pode clicar com ela em cima da janela que você quer para capturar somente ela e salvar a imagem no seu Desktop.

Qualquer combinação+ctrl
Ao invés de salvar a imagem no Desktop, a imagem fica no clipboard e você pode colar no programa que desejar, sem gerar uma imagem automática.

Alterar o formato do arquivo

É possível escolher o formato do arquivo que o print screen gera, pode ser PDF ou PNG. Para alterar esta opção, abra o Terminal e digite o comando “defaults write com.apple.screencapture type pdf” e pressione enter. Desta forma você altera o formato do arquivo para PDF. Para alterar para PNG, basta substituir no comando o pdf por png. Você deve fazer logout ou reiniciar o Mac para que esta alteração passe a valer.

MACBOOK - TECLADO E ACENTOS



Hoje irei falar sobre um problema que alguns usuários dos Macs tem encontrado com os acentos. 


Vou demostrar como você poderá fazer os acentos sem precisar trocar o layout de teclado ou adicionar um teclado externo.  Embora a princípio possa parecer complicado, mas com a prática você perceberá que é algo bem prático. Veja como é bem simples como exemplificado na imagem abaixo.