Sei que a pergunta é meio antiga, mas melhor um pergunta antiga respondida do que uma eterna duvida.
Eu fiz esse programa em C, e aqui vai uma explicação rapidinha do que eu fiz:
Primeiro, temos que entender a pergunta. Ele quer que achar os primeiros múltiplos de 11, 13 e 17 a partir de um numero digitado pelo usuário, sendo assim temos que ler esse numero e começar a contar a partir dele e achar os primeiros múltiplos dos números 11, 13, 17 (não nessa ordem especificamente). O que eu fiz foi, ler o numero do usuário, usar um loop while, uma variável que conta os divisores (nós só queremos 3, o primeiro de 11, 13 e 17), criei um vetor (array) para guardar os múltiplos (sendo a posição 0 para o 11, a 1 para o 13 e a 2 para o 17) e usei a logica de que se o numero for divisível for tal(11, 13 ou 17) e a posição do vetor estiver valendo 0, ele vai atribuir o valor de i para aquela posição do array e vai contar +1 para os divisores. A posição do vetor estar zerada quer dizer que ainda não foi atribuído nenhum numero para lá, e se ela não for 0 quer dizer que o primeiro múltiplo já foi descoberto.
Código:
#include <stdio.h>
int main()
{
int i, numero, divisores, multiplos[3];
for (i = 0; i < 3; i++)
{
multiplos[i] = 0;
}
printf("Numero: ");
scanf("%d", &numero);
divisores = 0;
i = numero;
while (divisores < 3)
{
if (i % 11 == 0 && multiplos[0] == 0)
{
multiplos[0] = i;
divisores++;
}
if (i % 13 == 0 && multiplos[1] == 0)
{
multiplos[1] = i;
divisores++;
}
if (i % 17 == 0 && multiplos[2] == 0)
{
multiplos[2] = i;
divisores++;
}
i++;
}
printf("primeiro multiplos (11,13,17): %d, %d, %d", multiplos[0], multiplos[1], multiplos[2]);
return 0;
}
Para traduzir para o C++ é o só trocar a biblioteca padrão para iostream e printf e scanf por cout e cin (lembrando de fazer as devidas alterações como using namespace std; e <<, >>).
Código no GitHub:
https://github.com/phzsantos/Learning_C/blob/main/02 - Estruturas de repeticao/Exercicios/26 - Exercicio.c