Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

está correto?

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

namespace LacoDeRepeticaoFor2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Projeto -  LacoDeRepeticaoFor2");

               for (int num = 0; num <= 100; num++)
                {
                    if(num % 3 == 0)
                    {
                        Console.WriteLine("Este nmúmero é multiplo de 3 : " + num);
                    num++;
                    }

                }
            Console.WriteLine("O programa pode ser encerrado.");
            Console.ReadLine();
        }
    }
}
4 respostas
solução!

Oi Joana, tudo bem?

A ideia é eliminar a necessidade da verificação if(numero % 3 == 0). Para isso, vamos remover esse if e também mudar o salto na instrução for, para que o número seja incrementado em 3 a cada passagem:

for (int num = 0; num <= 100; num += 3)

O código ficaria desta forma:

using System;

public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Projeto -  LacoDeRepeticaoFor2");

        for (int num = 0; num <= 100; num += 3)
        {
            Console.WriteLine("Este número é multiplo de 3 : " + num);
        }
        Console.WriteLine("O programa pode ser encerrado.");
        Console.ReadLine();
    }
}

Este código pode ser testado neste link:

https://dotnetfiddle.net/OcsUhY

O meu código estaria errado? Porque testando ele passa os valores corretos, obrigatoriamente deveria ser dessa forma?

Joana, bom dia! Acho que o seu código esta certo, não está errado.

Creio que o Marcelo só mostrou uma outra forma de resolver esse problema utilizando menos código eliminando a necessídade de se usar o if, ficando vamos assim dizer mais elegante..rs.

Ah! sim! Obrigada!