ProjectEuler8번.c 문제 : 다음은 연속된 1000자리 숫자입니다 (읽기 좋게 50자리씩 잘라놓음). 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 62229893423380308135336276614282806444486645238749 30358907296290491560440772390..
문제 : 1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합). 12 + 22 + ... + 102 = 385 1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱). (1 + 2 + ... + 10)2 = 552 = 3025 따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다. 그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까? 해설 : |제곱의 합| - |합의 제곱| = result ProjectEuler6번.c
ProjectEuler4번.c 문제 : 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다. 두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다. 세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 해설 : 첨부파일에 있음. 거의 노가다 형식으로 풀었는데 다른사람 풀이를 보니...ㄷ... 훨씬 쉽게 나와있... 다른사람꺼 소스 이해하는데만 한 30분 넘게 걸린듯... 다른사람 소스) #include int main() { int temp,num=0,answer,a=8,b; for (int i = 100; i < 1000; i++) { for (int j = 100; j < 1000; j++) { t..
문제 : 피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까? 풀이 : #include int main() { int a = 0; int b = 2; int c = 1; int d = 0; while (a < 4000000) { a = b + c; c = b; b = a; if (c % 2 == 0) { d = d + c; } } printf("%d".d); return 0; }
추 후에 보강할 예정
사전 분석 ./fd OOO 이런식으로 입력하면 될 듯 하며 buf의 값은 LETMEWIN과 같아야 한다.buf와 관련 있는 문장은 len = read(fd, buf, 32); 만 있으며 read 함수를 알아보면, read 함수란? 원형 : ssize_t read(int fd, void *buf, size_t nbytes)fd파일 디스크립터*buf파일을 읽어 들일 버퍼(변수)nbytes버퍼의 크기size_t(반환 값)정상적으로 실행되었다면 읽어 들인 바이트 수, 실패하면 –1을 반환. fd(File Descriptor) 란? :특정한 파일에 접근하기 위한 추상적인 키. ( 보다 쉽게 파일에 접근하기 위해서 ) 쉽게 설명하면 파일 KonYangUniversityCyberSecurity.txt 라는 파일을 불..