ПОМОГИТЕ! МНОГО БАЛЛОВ! Написать алгоритм/программу для n больше 32768
ПОМОГИТЕ! МНОГО БАЛЛОВ! Написать алгоритм/программу для n>32768
Ответ(ы) на вопрос:
Гость
#include
#include
using namespace std;
int main() {
int n;
cin >> n;
int a[n];
bool flag;
for(int i = 0; i < n; a[i]=i+1, i++);
for(int i = 0; i < sqrt(n); i++) {
flag = true;
for (int j = 0; j < sqrt(n); flag = !flag,j++) {
if (flag) {
cout << a[j*(int)sqrt(n) + i] << ' ';
} else {
cout << a[j*(int)sqrt(n) + (int)sqrt(n)- 1 - i] << ' ';
}
}
cout << endl;
}
}
Гость
Считается, что должна получиться матрица n х n. И, конечно, элементы матрицы не вводятся, а вычисляются.
Вот вариант программы:
#include
using namespace std;
int main() {
int n;
cin >> n;
int a[n][n];
for(int j = 0; j < n; j++){
if (j%2 == 0)
for(int i = 0; i < n; i++) a[i][j]=(i+1)+2*n*((j+1)/2);
else for(int i = 0; i < n; i++) a[i][j]=-i+2*n*((j+1)/2);
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++)
cout << a[i][j] << ' ';
cout << endl;
}
}
Пример:
5
1 10 11 20 21
2 9 12 19 22
3 8 13 18 23
4 7 14 17 24
5 6 15 16 25
Не нашли ответ?
Похожие вопросы