Вывести порядковый номер последнего из тех его элементов Ак, которые удовлетворяют двойному неравенству - C (СИ)
Формулировка задачи:
1) Дано целое число N (>0). Сформировать и вывести целочисленный массив размера N, содержащий степени двойки от первой до N-й: 2,4,8,16,.....
2) Дан целочисленный массив А размера 10. Вывести порядковый номер последнего из тех его элементов Ак, которые удовлетворяют двойному неравенству А1<Ak<A10. Если таких элементов нет, то вывести 0.
3) Дан массив А размера N. Сформировать новый массив В того же размера, элементы которого определяются следующим образом: Вк=2*Ак, если Ак<5, Ак/2 в противном случае.
Язык программирования-СИ.
Помогите пожалуйста!!!!
Решение задачи: «Вывести порядковый номер последнего из тех его элементов Ак, которые удовлетворяют двойному неравенству»
textual
Листинг программы
#include <stdio.h>
#define USE_ARRAY
#ifdef USE_ARRAY
# include <stdlib.h>
int main() {
unsigned char i, n;
unsigned long long* a;
scanf("%u", &n);
a = (unsigned long long*)malloc(n * sizeof(unsigned long long));
*a = 2;
for (i = 1; i < n; i++)
printf("%ull\n", a[i] = a[i - 1] << 1);
free(a);
}
#else
int main() {
unsigned char n;
unsigned long long x = 1;
scanf("%u", &n);
while (n--)
printf("%ull\n", x += x);
}
#endif