zj3t

email: euntaejang@gmail.com

Latest Posts
이 문제도 쉬운 문제였습니다 코드보면 이해가 가실거에요~~



#include <stdio.h>

int pows(int x) {
int result=1;
for (int i = 0; i < 2; i++) {
result *= x;
}
return result;
}

int main() {
unsigned long long square_of_sum = 0;
unsigned long long sum_of_square = 0;
unsigned long long sum = 0;
unsigned long long result = 0;

for (int i = 1; i <= 100; i++) {
sum_of_square += pows(i);
}
for (int i = 1; i <= 100; i++) {
sum += i;
}
square_of_sum = pows(sum);
result = square_of_sum - sum_of_square;

printf("result= %I64u\n", result);

return 0;
}

4번보다는 쉬운 문제였던 것같습니다.




#include <stdio.h>
int main()
{
unsigned long long ex = 1;
unsigned long long i = 1;
int count = 0;

for (int a = 1; a <= 20; a++)
{
ex *= a;
}
while (i <= ex) {
if (ex%i == 0) {
for (int a = 1; a <= 20; a++) {
if (i%a == 0) {
count = count + 1;
}
}
if (count == 20) {
printf("%I64u\n", i);
}
}
count = 0;
i++;
}

return 0;
}


문제에서 세 자리 수라고 줬지만 모든 수에 해당도록(조금 더 어렵게) 풀기 위해 좀 시간이 걸렸지만 뿌듯하네요ㅎㅎ

#include <stdio.h>

int pows(int x, int y) //제곱함수 정의
{
int result = 1;

for (int i = 0; i < y; i++)
{
result *= x;
}
return result; 
}

int main()
{
int i, j = 0; //곱셈을 할 for문에서 사용 할 변수
int len = 0; //자릿수를 구할 변수
int count = 0; //각 자릿수를 비교하기 위해 정의한 변수
int result; //곱셈의 결과를 저장할 변수
int temporary; //곱셈의 값을 일시적으로 저장할 변수
int arrays[] = { 0, }; //곱셈결과를 자릿값을 저장할 배열
int max = 0; //최대값을 저장할 변수

for (i = 100; i < 1000; i++) {
for (j = 100; j < 1000; j++) {
result = i*j; 

temporary = result; //길이를 구하기위에 값을 임시적으로 저장 

count = 0;
len = 0; //길이 초기화

while (result){ 
len++;
result /= 10;
}//곱셈결과의 자리수 구하는 루프

result = temporary; //값을 다시 반환

for (int h = 0; h < len; h++) {
arrays[h] = (result % (pows(10,(h+1)))) / pows(10,h); 
} //각 자깃값을 배열에 저장하는 루프

for (int h = 0; h < len / 2; h++) { //비교 루프
if (arrays[h] == arrays[len - 1 - h]) { 
count++;
if (count == len / 2)
{
if (max < result) //최댓값만 구하기 위하여 조건문 설정 
{
max = result;
}
}
}
}
}
}
printf("max: %d\n", max); //최댓값 출력
return 0;
}
오랫만에 풀어봤는데 아이디 비밀번호를 까먹어 다시 처음부터 풀겠습니다.
1,2번은 포스팅되있으니 3번부터 쭉 포스팅하겠습니다.



#include <stdio.h>
int main()
{
unsigned long long ex = 600851475143; //600851475143값은 기존의 int 형 범위에 벗어남
                                                             //long long 도 가능
long i = 2, j = 2;
long num;
while (i <= ex)
{
if (ex % i == 0) // 약수를 찾음
{
for (j = 2; j < i; j++) //소인수를 찾는 반복루프(소인수는 자기자신과 1로만 나누어짐)
{
if (i%j == 0) //자기자신과 1이외의 수로 나누어 떨어진다면
{
goto a; //goto문으로 이동
}
}
num = i;
printf("%ld ", num);
}
a: i++; //i++를함 
}

return 0;
}





리버싱을 하다가 프로그래밍언어 실습을 손논지 오래되서 헷갈려 실습사이트를 찾는 도중 이곳을 알게되었습니다. 평도 좋고 직접해보시며 좋을 꺼같아요.