๐ ์ ์นํ๋ ฌ
1. ์๋์ ๊ฐ์ด ํ๋ ฌ์ ํ๊ณผ ์ด์ ๋ฐ๊พธ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐ ์ฝ๋
#include <stdio.h> // ํ์ค ์
์ถ๋ ฅ์ ํ ์ ์๊ฒ ํด์ค๋ค.
// ์ฒ์ ์ถ๋ ฅ๋๋ ํ๋ ฌ, ๋ฐํ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ void๋ฅผ ์ฌ์ฉ
void originalMatrix(int array[][3], int row, int column)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < column; j++)
printf("%d ", array[i][j]);
printf("\n");
}
}
// ์ ์นํ๋ ฌ, ๋ฐํ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ void๋ฅผ ์ฌ์ฉ
void transposeMatrix(int array[][4], int row, int column)
{
int i, j;
for (i = 0; i < row; i++)
{
for (j = 0; j < column; j++)
printf("%d ", array[i][j]);
printf("\n");
}
}
// ํ๋ ฌ์ ์ ์น(transpose)ํ๋ค.
// matrix[][] : ์ ์นํ ๋์ transpose[][] : ์ ์นํด์ ์ ์ฅํ ๊ณณ
// row: ํ column: ์ด
void transpose(int matrix[][3], int transposed[][4], int row, int column)
{
int i, j, count = 0;
for (i = 0; i < row; i++)
{
for (j = 0; j < column; j++)
{
transposed[j][i] = matrix[i][j]; // ํ๊ณผ ์ด ์ธ๋ฑ์ค๋ฅผ ๋ฐ๊พธ์ด ์ ์ฅ.
count++;
}
}
}
int main()
{
int matrix[4][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12} };
int transposed[3][4] = { 0, };
originalMatrix(matrix, 4, 3);
printf("-------------------------------\n");
transpose(matrix, transposed, 4, 3);
transposeMatrix(transposed, 3, 4);
return 0;
}
๐ ์คํ๊ฒฐ๊ณผ
1 2 3
4 5 6
7 8 9
10 11 12
-------------------------------
1 4 7 10
2 5 8 11
3 6 9 12
Process finished with exit code 0
๐ ์ด๋ค ์ ์์ ๋ชจ๋ ์ฝ์ ์ค ์์ ์ ์ ์ธํ ์ฝ์๋ก ๋ชจ๋ ํฉํ๋ฉด ์์ ๊ณผ ๊ฐ์์ง๋ ์
2. 4๋ถํฐ 1000๊น์ง์ ์ ์ ์ค ๋ค์๊ณผ ๊ฐ์ ์์ฑ์ ๋ง์กฑํ๋ ์ ์๋ฅผ ์ฐพ์ ๊ทธ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โ ๋ชจ๋ ์ฝ์ ์ค ์์ ์ ์ ์ธํ ์ฝ์๋ฅผ ๋ชจ๋ ํฉํ๋ฉด ์์ ๊ณผ ๊ฐ์์ง๋ ์๊ฐ ์กด์ฌ
โ ์๋ฅผ ๋ค์ด 6์ ์ฝ์ 1, 2, 3, 6 ์ค 6์ ์ ์ธํ 1, 2, 3 ์ ๋ํ๋ฉด 6์ผ๋ก ์์ ๊ณผ ๊ฐ์
๐ ์ฝ๋
#include<stdio.h>
int main()
{
int total = 0;
int number = 0;
for (int i = 4; i <= 1000; i++) // 4๋ถํฐ 1000๊น์ง์ ์ฝ์
{
number = 0; // ์ฝ์ ์ด๊ธฐํ
for(int j = 1; j <= i-1; j++)
{
if(i % j == 0) // ์์ ์ ์ ์ธํ ์ฝ์ ์ฐพ๊ธฐ
number = number + j; // ์ฝ์์ ํฉ๊ณผ ๊ฐ์ ์
}
if(number == i) // ์ฝ์์ ํฉ์ด ๊ฐ์ ๋
{
printf("์ฝ์์ ํฉ๊ณผ ๊ฐ์ ์ : %d\n", number);
total++;
}
}
printf("์ด ๊ฐฏ์ : %d\n", total);
return 0;
}
๐ ์คํ๊ฒฐ๊ณผ
์ฝ์์ ํฉ๊ณผ ๊ฐ์ ์ : 6
์ฝ์์ ํฉ๊ณผ ๊ฐ์ ์ : 28
์ฝ์์ ํฉ๊ณผ ๊ฐ์ ์ : 496
์ด ๊ฐฏ์ : 3
Process finished with exit code 0