소스 최적화
딥보라
질문 제목 : 이 소스를 더 최적화(실행속도빠르게)하는 방법좀 알려주세요함수 자체를 식으로써 넣기만 해도 빨라지는건 알겠지만, 그외에 논리적으로 더 빠르게 하는 방법을 아시나요.질문 내용 :
프로그램 간단설명.
1. a의 이진수 표현에서 나오는 1의 개수 x를 찾는다.
2. a보다 작은수 중에서 그 수의 이진수 표현에서 1의 개수가 x와 같고 a에 가장 가까운 수를 하나 찾는다.
3. a보다 큰수 중에서 그 수의 이진수 표현에서 1의 개수가 x와 같고 a에 가장 가까운 수를 하나 찾는다.
-------------------------------------------------------------------------------------------------
#include stdio.h
int binary(int a) {
int x=0;
while(a!=0) {
if(a%2==1) x++;
a/=2;
}
return x;
}
int main(void) {
freopen(input.txt,r,stdin);
freopen(output.txt,w,stdout);
int i,x;
int a,min=0,max=0;
scanf(%d,&a);
x=binary(a);
i=a-1;
while(x!=binary(i)) i--;//이부분에서 함수호출이많이 되는듯하네요.
min=i;
i=a+1;
while(x!=binary(i)) i++; //이부분에서도 함수호출이 ...
max=i;
printf(%d %d,min,max);
return 0;
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2673602 | 비트연산 연습하다 문제생겨서 올립니다. (2) | 연하얀 | 2024-11-01 |
2673576 | 질문이요...ㅠ | 미즈 | 2024-10-31 |
2673497 | 입력받아 출력하는 거 질문이요 (6) | 한누리 | 2024-10-31 |
2673438 | 배열로 입력받는것 질문 드릴게요 (3) | 들빛 | 2024-10-30 |
2673410 | 초기값 변환값 도와주세요 | 희1미햬 | 2024-10-30 |
2673384 | 저기 문자열 비교를 하려 하는데.. | Sonya | 2024-10-30 |
2673333 | 한글 영어 구분 (3) | 찬놀 | 2024-10-29 |
2673306 | 컴파일 시키면 한글이 깨집니다. (1) | 해지개 | 2024-10-29 |
2673278 | c언어 문자열 거꾸로 출력질문 | 물고기자리 | 2024-10-29 |
2673255 | 재귀함수 팩토리얼 | 사랑 | 2024-10-28 |
2673232 | 쉬운건데요.. (3) | 유우 | 2024-10-28 |
2673209 | 잘못된 자료형을 가르키는 포인터변수에 대한 질문 (5) | 해비치 | 2024-10-28 |
2673182 | 구조체에 대해서 질문 드립니다. (1) | 분홍이 | 2024-10-28 |
2673129 | C언어 포인터 부분 질문좀 부탁드립니다. (4) | 호습다 | 2024-10-27 |
2673105 | Atomic fetch sub | 등대 | 2024-10-27 |
2673014 | 소수합구하기 알고리즘이요. (1) | 크나 | 2024-10-26 |
2672987 | 어디가 틀렸는지 지적좀 해주세여... | 미련곰팅이 | 2024-10-26 |
2672934 | 숫자를 입력해서 지폐의 종류별로 갯수구하는 프로그램인데요.. | 개굴츼 | 2024-10-25 |
2672908 | 파일 오픈 출력 | 겨슬 | 2024-10-25 |
2672855 | 연결리스트를 이용한 관리 프로그램 중 리스트삭제 | 해비치 | 2024-10-25 |