문제는


두개의 정수 n.m을 입력받아서  n이m의 배수이면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 is_multiple(int n, int m)을 작성하시오


첫번째 정수를 입력하세요 :

두번째 정수를 입력하세요 :

XX은 XX의 배수입니다. 또는 XX은 XX의 배수가 아닙니다.


교수님이 보여준 답은


#include<stdio.h>

int is_multiple(int n, int m);

int main(void)
{
 int a, b, c;

 printf("첫번째 정수를 입력하세요");
 scanf("%d", &a);

 printf("두번쨰 정수를 입력하세요");
 scanf("%d", &b);

 c = is_multiple(a,b);

 if (c = 1)
  printf("%d는%d의 배수입니다.", a, b);
 else
  printf("%d는%d의 배수가 아닙니다.", a, b);
 
 return 0;
}

int is_multiple(int n, int m)

{
 if (n%m == 0)
  return 1;
 else
  return 0;
}


이거인데 이렇게하면 m에 4를 넣고 n에 2를 넣으면 4는 2의 배수입니다. 이렇게 출력되고

                               m에 2를 넣고 n에 4를 넣으면 2는 4의 배수입니다. 이렇게 모순되게 출력되요

                               else 부분은 정상적으로되고


그래서 보완하려고 아래 int is_multiple(int n, int m)이 함수부분을


int is_multiple(int n, int m)

{
 static int G;
 for (G = 1;G<=1000; G++)

 {
      if (n == m*G)
      return 1;

   else if (m == n*G)
      return 1;

   else
   return 0;
 }

1000의 배수까지 지원하는 걸로 해봤는데 결과는 그냥 뭘넣든 else로 흘러서 배수가아니라고나옴ㅠㅠㅠ 어떻게해야지 저거보완할수있어요?