#include
using namespace std;
void main()
{
setlocale(0, "");
cout << "13. Показать на экране все числа Фибоначчи в диапазоне от 0 до 10.000.000.\n ";
unsigned long a = 0;
unsigned long b = 1;
while (a < 9000000)
{
a = a + b;
b = a - b;
cout << a << "\t";
}
}


Что тебе непонятно в коде, содержащем одно сравнение и две арифметические операции? Что именно требует пояснения?
#include - подключение библиотеки, имя которой съедено M@il.Ответы. Подключение библиотеки для ввода вывода на консоль iostream.
using namespace std; - указание пространства имён
void main() - объявление основной функции main с возвращаемым значением пустота void.
Дальше идёт тело основной функции { }
setlocale(0, ""); - для поддержки консолью русских символов, кириллицы.
cout - экземпляр класса ostream для вывода на консоль.
\n - символ переноса строки
"..." - литерал строкового типа
unsigned long a = 0; - объявление и инициализация значением 0 переменной с именем a
unsigned - беззнаковое целое
long - длинное
while - оператор цикла по условию
a < 9000000 - условие исполнения тела цикла, возвращает bool - значение оператору while
Тело цикла исполняется пока истинно условие, пока оператор < возвращает true
a = a + b; - a стало равно a текущее + b
\t - табуляция - чтобы числа выводились ровно, с большими промежутками. В некоторых случаях лучше с этой целью использовать setw() из библиотеки iomanip
9000000 в условии цикла, так как сперва проверили условие, a оказалось меньше 9000000, то выполнив ещё итерацию цикла, оно перемахивает 9000000. При следующей проверки условия a < 9000000, оно окажется не верно и цикл завершится. 9000000 наверно подбором нашли.