c언어에서
a=3*m+2*(m+1)*n 이런식으로 해서 m과 n값에 따라 여러 a값이 나오겠죠?
제가 궁금한건 여기서 b값을 a가 아닌 a값보다 작은 모든 자연수를 나열하는건데요,
어떻게하면 이런걸 식으로 만들수있을까요?
------------------------------------------------------------------------------------------------------------------------
#include <stdio.h>
int check(int n) {
int i, x;
for(i=1;i<n;++i) {
x=n-3*i;
if(x<0) return 1;
if(x%(2*(i+1))==0) return 0;
}
return 1;
}
int main() {
int i, x;
printf("정수입력: ");
scanf("%d", &x);
for(i=1;i<x;++i) if(check(i)) printf("%5d", i);
return 0;
}
=========================================================
죄송하지만 2차식을 (2m+3)+(3m+2)n으로 해서 답변가능하신가요?
두번째 버전입니다. #include <stdio.h> int check(int n) { int i, x; for(i=0;i<n;++i) { x=n-2*i-3; if(x<0) return 1; if(x%(3*i+2)==0) return 0; } return 1; } int main() { int i, x; printf("정수입력: "); scanf("%d", &x); for(i=1;i<x;++i) if(check(i)) printf("%5d", i); return 0; }
'c·c++ > c 프로그래밍' 카테고리의 다른 글
공백이 포함된 문자열을 묶음으로 읽기 (0) | 2012.05.27 |
---|---|
A부터 Z까지 출력과 지우기를 무한반복하기 (0) | 2012.05.25 |
c언어 입력받은 초를 일/시간/분/초로 환산하기 (0) | 2012.05.25 |
포인터 질문입니다. (0) | 2012.05.25 |
알수 없는 수수께끼 i = i--; 의 동작 (0) | 2012.05.24 |