Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

ЗАУВАЖЕННЯ: для коректного виведення українських слів у консольному вікні використовуйте при написанні назв чисел латинську літеру «і»



ВАРІАНТ 1

Запишіть програму формування та виведення масиву з N елементів (N ‹= 1000). Елементи масиву — перші N простих чисел (просте число — це число, більше за 1, яке ділиться тільки на 1 і саме на себе).

Рішення:

Скористаємося решетом Ератосфена - це алгоритм знаходження простих чисел до заданого числа n. У процесі виконання даного алгоритму поступово відсіваються складені числа, кратні простим, починаючи з 2.

 

// варіант 1 №17

 

#include ‹iostream› using namespace std; int main()

{

 

int N;

 

cin ›› N; //кількість шуканих простих чисел

 

int *M = new int [N];//M ‐ масив для зберігання простих чисел

 

M[0]=2;//2 – перше відоме просте число, занесене до масиву

 

int p=3;//p – перше число, що перевіряється на "простоту"

 

//n‐ індексы простих чисел в массиві М

 

for (int n=1; n‹N; n++)

 

{

 

//перевіряємо подільність числа р на всі знайдені прості числа (які є в масиві) a: for (int i = 0; i‹n; i++)

if (M[i]‹=p/2 && p%M[i]==0) // якщо p не просте

 

{

 

p++;//то переходимо до наступного числа

 

goto a;//знову перевіряємо подільність числа на всі збережені прості


 

 

}

 

//з циклу поміченого як а: вийде після знаходження наступного простого р

 

M[n]=p;//запам’ятовуємо знайдене просте в масиві

 

p++;//переходимо до наступного числа для перевірки його на "простоту"

 

}

 

//виведення массиву знайдених простих чисел

 

for (int i = 0; i‹N; i++) cout ‹‹ M[i] ‹‹ " ";

 

 

system ("pause››void"); return 0;

}

 

 

ВАРІАНТ 2

Задано ціле число N (2 ‹= N ‹= 30). Запишіть програму формування та виведення масиву А розміру N, що містить N перших елементів послідовності чисел Фібоначчі. Числа Фібоначчі обчислюються за таким алгоритмом FK:

F1 = 1, F2 = 1, FK = FK–2 + FK–1, K = 3, 4, … .

//варіант 2 №17

 

#include ‹iostream› using namespace std; int main ()

{

 

int N; cin ›› N;

int *M = new int [N];

 

//два перших числа Фібоначчі

 

M[0]=1; M[1]=1;

 

//наступні числа Фібоначчі

 

for (int i=2; i‹N; i++) M[i]=M[i‐1]+M[i‐2];

//виведення знайдених чисел


 

 

for (int i=0; i‹N; i++) cout ‹‹ M[i] ‹‹ " ";

 

 

delete [] M; system ("pause");

return 0;

 

}

 

 

ВАРІАНТ 3

Запишіть програму виведення натурального числа n (0 ‹= n ‹= 9999) у його словесному запису. Наприклад, n = 2354 — дві тисячі триста п’ятдесят чотири.

ЗАУВАЖЕННЯ: для коректного виведення українських слів у консольному вікні використовуйте при написанні назв чисел латинську літеру «і»

//варіант 3 №17

 

#include ‹iostream›

 

#include ‹string› using namespace std; int main()

{

 

setlocale(0,"");

 

int n; cin ›› n;

 

 

if(n==0)

 

{

 

cout ‹‹ "нуль"; return 0;

}

 

//тисяч

 

switch (n/1000)

 

{

 

case 1: cout ‹‹ "тисяча "; break; case 2: cout ‹‹"двi тисячi "; break;


 

 

case 3: cout ‹‹"три тисячi "; break; case 4: cout ‹‹"чотири тисячi ";break; case 5: cout ‹‹"п'ять тисяч "; break; case 6: cout ‹‹"шiсть тисяч "; break; case 7: cout ‹‹"сiм тисяч "; break; case 8: cout ‹‹"вiсiм тисяч "; break; case 9: cout ‹‹"дев'ять тисяч ";break;

}

 

//сотень

 

switch ((n/100)%10)

 

{

 

case 1: cout ‹‹"сто "; break; case 2: cout ‹‹"двiстi "; break; case 3: cout ‹‹"триста "; break; case 4: cout ‹‹"чотириста "; break; case 5: cout ‹‹"п'ятьсот "; break; case 6: cout ‹‹"шiстьсот "; break; case 7: cout ‹‹"сiмсот "; break; case 8: cout ‹‹"вiсiмсот "; break; case 9: cout ‹‹"дев'ятьсот ";break;

}

 

//десятків

 

switch ((n/10)%10)

 

{

 

case 2: cout ‹‹"двадцять "; break; case 3: cout ‹‹"тридцять "; break; case 4: cout ‹‹"сорок "; break; case 5: cout ‹‹"п'ятьдесят ";break; case 6: cout ‹‹"шiстьдесят ";break; case 7: cout ‹‹"сiмдесят "; break; case 8: cout ‹‹"вiсiмдесят ";break; case 9: cout ‹‹"дев'яносто ";break;

}


 

 

//одиниць switch (n%10)

{

 

case 1: cout ‹‹"один"; break; case 2: cout ‹‹"два"; break; case 3: cout ‹‹"три"; break; case 4: cout ‹‹"чотири"; break; case 5: cout ‹‹"п'ять"; break; case 6: cout ‹‹"шiсть"; break; case 7: cout ‹‹"сiм"; break; case 8: cout ‹‹"вiсiм"; break; case 9: cout ‹‹"дев'ять";break;

}

 

//...десять ...надцять

 

if ((n/10)%10==1)//якщо десятків ‐ один

 

{

 

int k=n%10;//k‐остання цифра

 

if(k==0)

 

cout ‹‹ "десять";

 

else if(k==1 || k==4 || k==5 || k==6 || k==9)//якщо остання буква «н», «и», або «ь» cout ‹‹ "\bнадцять";//замість останньої букви дописуємо «надцять»

else

 

cout ‹‹"надцять";

 

}

 

system ("pause ›› void"); return 0;

}

 

ЗАУВАЖЕННЯ:

Якщо програма працюватиме з файлами (наприклад при перевірці в тестуючих системах) то, починаючи з //десятків програму треба змінити, бо "\b" функціонує лише в консольному вікні. Попередньо необхідно підключити заголовочний файл ‹string›

string o;

 

//одиниць


 

 

switch (n%10)

 

{

 

case 1: o="один"; break; case 2: o="два"; break; case 3: o="три"; break; case 4: o="чотири"; break; case 5: o="п'ять"; break; case 6: o="шiсть"; break; case 7: o="сiм"; break; case 8: o="вiсiм"; break; case 9: o="дев'ять";break;

}

 

//десятків

 

switch ((n/10)%10)

 

{

 

case 0: cout ‹‹ o; break;

 

case 1:

 

{

 

int k=n%10;//k‐остання цифра

 

if(k==0)

 

cout ‹‹ "десять";

 

else if(k==1 || k==4 || k==5 || k==6 || k==9) cout ‹‹o.erase(o.length()‐1,1)‹‹ "надцять"; else

cout ‹‹o‹‹"надцять";

 

}

 

}

 

system ("pause ›› void"); return 0;

}


 

 

ВАРІАНТ 4

Запишіть програму формування та виведення двовимірного масиву A розміру 16 x 16 елементів, який містить таблицю множення чисел у шістнадцятковій системі числення.

//варіант 4 №17

 

#include ‹iostream›

 

#include ‹iomanip›

 

#include ‹string› using namespace std; int main()

{

 

//n ‐ основа системи числення

 

//d ‐ максимальна кількість цифр в числі‐результаті

 

const int n=16, d=3;

 

//рядковий масив для запису табличних значень

 

string A[n][n];

 

//символьний масив для збереження чисел (поциферно) char b[d+1];

 

 

for (int i=1; i‹n; i++)//по рядкам

 

{

 

cout ‹‹ endl;

 

for(int j=1; j‹n; j++) //по стовбцям (поелементно в рядку)

 

{

 

A[i‐1][j‐1]=itoa(i*j,b,n); //десяткове ціле – в n‐річну cout ‹‹ setw(d+1) ‹‹ A[i‐1][j‐1];

}

 

}

 

system ("pause››void"); return 0;

}


 

 

ВАРІАНТ 5

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.