C/C++
Напишите пожалуйста программу на СИ, массив стат или динам
Дан одномерный массив А неупорядоченных натуральных чисел. Если все числа, которые больше среднего арифметического элементов массива, являются простыми, то вывести на экран сообщение «Да», иначе — сообщение «Нет».
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
_Bool is_prime(unsigned x) {
_Bool p;
if (x == 1) p = false;
else if (x == 2) p = true;
else if (~x & 1) p = false;
else if (x < 6) p = true;
else if (0 == x % 3 || 0 == x % 5) p = false;
else {
unsigned n;
for (n = 3; n * n <= x && x % n; n += 2) { ; }
p = n * n > x;
}
return p;
}
int main() {
int mn = 1;
int mx = 11;
int n;
int i;
int* a = NULL;
double sum;
double avg;
srand((unsigned)time(NULL));
printf("Size array: ");
scanf_s("%u", &n);
a = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; ++i) a[i] = mn + rand() % mx;
for (i = 0; i < n; ++i) printf("%4i", a[i]);
puts("");
sum = 0;
for (i = 0; i < n; ++i) sum += a[i];
avg = sum / n;
printf("Average: %.2lf\n", avg);
i = 0;
while (i < n) {
if (a[i] > avg && !is_prime(a[i])) break;
++i;
}
puts(i == n ? "Yes!" : "No!");
free(a);
system("pause > nul");
}
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
_Bool is_prime(unsigned x) {
_Bool p;
if (x == 1) p = false;
else if (x == 2) p = true;
else if (~x & 1) p = false;
else if (x < 6) p = true;
else if (0 == x % 3 || 0 == x % 5) p = false;
else {
unsigned n;
for (n = 3; n * n <= x && x % n; n += 2) { ; }
p = n * n > x;
}
return p;
}
int main() {
int mn = 1;
int mx = 11;
int n;
int i;
int* a = NULL;
double sum;
double avg;
srand((unsigned)time(NULL));
printf("Size array: ");
scanf_s("%u", &n);
a = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; ++i) a[i] = mn + rand() % mx;
for (i = 0; i < n; ++i) printf("%4i", a[i]);
puts("");
sum = 0;
for (i = 0; i < n; ++i) sum += a[i];
avg = sum / n;
printf("Average: %.2lf\n", avg);
i = 0;
while (i < n) {
if (a[i] > avg && !is_prime(a[i])) break;
++i;
}
puts(i == n ? "Yes!" : "No!");
free(a);
system("pause > nul");
}
Если все числа, которые больше среднего арифметического элементов массива, являются простыми...
По определению понятия "число" для любого n всегда найдется число, большее n и не являющееся простым ( например 2n - непростое )
А если речь об элементах массива - тогда конечно....
По определению понятия "число" для любого n всегда найдется число, большее n и не являющееся простым ( например 2n - непростое )
А если речь об элементах массива - тогда конечно....
Похожие вопросы
- СРОЧНО Напишите пожалуйста программу на Си
- СРОЧНО Напишите пожалуйста программу на Си
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- Напишите пожалуйста программу на Си
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- Помогите плиз написать программу на Си Массив структур
- Помогите пожалуйста написать программу на Си
- Помогите, пожалуйста, написать программу на C++ (массивы)
- Написать программы на СИ
- Работа со структурами. Написать программу для СИ