이 페이지는 코딩도장 데이터의 읽기 전용 정적 보관본입니다.

n의 배수 판정법

어떤 수 x와 n이 주어졌을때 조건에 따라 x가 n의 배수인지 판별하는 코드를 작성하라.

x는 0 이상의 정수이며 조건에 맞지 않는 입력은 주어지지 않는다.

여기서 하나의 함수인지 여러 함수인지는 본인이 선택하면 된다.

단 절대 산술연산자 중 %와 /는 코드에 없도록 한다.

그리고 divmod() 함수를 쓰는것도 금지한다

코드는 창의적으로 하는 것을 목적으로 한다. 속도는 크게 중점을 두지 않는다.

n의 종류는 2,3,5,7,11,13이다.

원하는 n만 선택해서 풀 수도 있다.

입력

입력으로 주어질 자연수의 종류를 입력받고 차례로 그 수만큼 정수를 입력받는다.

6
432 2
4 3
635 5
421 7
122 11
143 13

출력

1
0
1
0
0
1

저는 인터넷에서 n의 배수 판정하는 법이란 글을 보게되어 여러분들에게 더욱 창의적인 방법을 묻고싶었는데

가장 기본을 생각못하다니 저도 참 무식한것 같습니다.

이미 푸신분들은 어쩔 수 없겠지만 최대한 이미 나온 조건과 더불어 이 조건도 추가하면 좋을것 같습니다.

저 좋으라고 하는일이 아닌 여러분들의 창의력을 키우기위한 문제이니까요 감사합니다.

2019/04/03 16:55

김영성

68개의 풀이가 있습니다.

python

f = lambda x,n: x in range(0,x+1,n)
>>> f(421,7)
False
>>> f(143,13)
True

2019/04/03 17:54

Creator

저는 그냥 각 배수들의 특징을 갖고 풀었습니다.

여러분들의 창의력을 보는 문제이므로 딱히 특정한 정답이 있다고는 생각하지 않습니다.

def D2(x):
    return (0,1)[int(str(x)[-1]) in [2,4,6,8,0]]

def D3(x):
    i = sum(map(int,str(x)))
    return (0,1)[i in [3,6,9]] if i<10 else D3(i)

def D5(x):
    return (0,1)[int(str(x)[-1]) in [0,5]]

def D7(x):
    i = int(str(x)[-1])*(-2,2)[x>0]-int(x*0.1)
    return (0,1)[i in [-7,0,7]] if -10<i<10 else D7(i)

def D11(x):
    i = abs(sum(map(int,str(x)[1::2]))-sum(map(int,str(x)[::2])))
    return (0,1)[i in [0,11]] if i <= 11 else D11(i)

def D13(x):
    i =int(str(x)[-1])*4+int(str(x)[:-1])
    return (0,1)[i in [13,26,39]] if i <= 39 else D13(i)

for x in range(int(input())):
    inp = input().split()
    print([D1,D2,D3,0,D5,0,D7,0,0,0,D11,0,D13][int(inp[1])-1](int(inp[0])))

2019/04/03 17:17

김영성

namespace codingdojang__
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = int.Parse(Console.ReadLine());
            for (int i = 0; i < count; i++)
            {
                multiple(int.Parse(Console.ReadLine()), int.Parse(Console.ReadLine()));
            }
        }
        static void multiple (int x, int n)
        {
            int temp = x;
            while (temp > 0)
            {
                temp -= n;
            }
            if (temp == 0)   
            {
                Console.WriteLine("1");
            }
            else   
            {
                Console.WriteLine("0");
            }
        }
    }
}

2019/04/05 22:40

bat

c언어로 풀었삼

#include <stdio.h>
int main(){
    int a,i=0;
    scanf("%d", &a);
    int num[a][2];
    for(int i=0;i<a;i++){
        scanf("%d %d", &num[i][0], &num[i][1]);
    }
    for(int i=0;i<a;i++){
        while(num[i][0]>=num[i][1]){
            num[i][0] -= num[i][1];
        }
        if(num[i][0]==0){
            printf("1\n");
        }
        else
            printf("0\n");
    }
}

2019/04/06 16:03

용 빈


multiple = lambda x,n: x in range(0,x+1,n)

print(multiple(143,13))

2020/11/26 08:15

DSHIN

def f(x,n):
    while x>=n:
        x-=n
    if x==0:
        return True
    else:
        return False
print(f(421,7))
print(f(143,13))

2021/09/19 16:40

ninanino

C#

using System;
using System.Linq;
using System.Text;

internal class Program
{
    private static void Main()
    {
        // 구현
        Func<int, int, string> func = (dividend, divisor)
            => Enumerable.Range(0, dividend).Select(i => i * divisor).Contains(dividend) ? "1" : "0";

        // 테스트
        int numCases = int.Parse(Console.ReadLine());
        StringBuilder sb = new StringBuilder();
        for (int nc = 0; nc < numCases; nc++)
        {
            int[] args = Console.ReadLine().Split(' ').Select(s => int.Parse(s)).ToArray();
            sb.AppendLine(func(args[0], args[1]));
        }
        Console.WriteLine(sb.ToString());
    }
}

2019/04/03 20:37

mohenjo

x가 n보다 작아질때까지 x에 n을 계속 빼줍니다.
최종적으로 얻은 x는 n으로 나눈 나머지와 같습니다.
x가 0일때만 배수라는 뜻이 됩니다.

def is_multiple(x, n):
    while x >= n: x = x - n
    return x == 0

print(is_multiple(635, 5))

2019/04/04 06:33

messi

Ruby

def check_multiple
  chk = ->num,mul { (num <=> (0..num).step(mul).max) ^ 1 }
  puts (1..gets.to_i).map { chk[*gets.split.map(&:to_i)] }
end

Test

input = <<-stdin
6
432 2
4 3
635 5
421 7
122 11
143 13
stdin

result = <<-stdout
1
0
1
0
0
1
stdout

$stdin = StringIO.new(input)
expect { check_multiple }.to output(result).to_stdout

2019/04/04 16:52

rk

구하는 약수를 계속해서 더해줬을때 해당 자연수와 같아지면 True 아니면 False 처리를 해서 풀어보았습니다.

# trial number setting.
trial = int(input("Number of inputs? : "))

# Memory list setting.
natural_list = list()
prime_list = list()
loop_count = trial

# Saving data to memory lists.
while loop_count > 0:
    natural, prime = input().split()
    loop_count -= 1
    natural_list.append(int(natural))
    prime_list.append(int(prime))

# Out the results
print("\nThe results are as follow: ")
for i in range(trial):
    is_correct = 0
    is_true = False
    while natural_list[i] > is_correct:
        is_correct += prime_list[i]
        if natural_list[i] == is_correct:
            is_true = True
    if is_true == True:
        print(1)
    else:
        print(0)

2019/04/04 17:38

ChungGeol You

c language

#include<stdio.h>
int main() {
    int gs, j = 0;
    int n[6], x[6];

    scanf("%d", &gs);

    for (int i = 0; i < gs; i++) {

        scanf("%d %d", &n[i], &x[i]);
        while (n[i] < x[i]) {

            n[i] -= x[i];

        }
    }
    while (j < gs) {

        if (n[j] == 0) {
            puts("1");
        }
        else {
            puts("0");
        }
        j++;
    }
    return 0;
}






2019/04/06 16:41

wldus

isTrue = list()
a = input()
for i in range(int(a)):
    x,n = map(int,input().split())
    for i in range(x):
        if n*i == x:
            isTrue.append(True)
            break;
        if i == x-1:
            isTrue.append(False)
for i in isTrue:
    if(i):
        print(1)
    else:
        print(0)







2019/04/07 01:35

야어이구

C입니다.

#include <stdio.h>
int main(){
int n,a,b,c,i=0;scanf("%d",&n);
for(i;i<n;i++){scanf("%d%d",&a,&b);c=0;
while(a>0){a-=b;if(!a)c=1;}printf("%d\n",c);}}

Result

5
2 4
0
4 2
1
16 5
0
20 5
1
14 7
1

2019/04/07 15:33

Hyuk

def divisible(a,b):
    while a>0:
        a=a-b
    if a==0:
        return 1
    else:
        return 0

times=int(input("Input number of cases: "))
divresult=[]
for i in range(times):
    user=input("{}. Input dividend and divisor, seperate them with a space: ".format(i+1))
    user=user.split(' ')
    divresult.append(divisible(int(user[0]),int(user[1])))

for i in divresult:
    print(i)


2019/04/17 15:23

ykleeac

def f(N,n):
    m=0
    while m<N:
        m+=n

    if m==N:
        return True
    return False
a,b=map(int,input().split())
print(bool(f(a,b)))

2019/05/03 16:46

암살자까마귀

    <input type="text" placeholder="정수를 입력하세요" id="num">
    <input type="text" placeholder="배수를 입력하세요" id="n">
    <button onclick="getResult()">Submit</button>
    <input type="text" placeholder="결과값" id="result" readonly="readonly">
    <script type="text/javascript">
        function getResult() {          
            var num=$("#num").val();
            var n=$("#n").val();
            var str="노노해요";
            if((num==null||num=="")||(n==null||n=="")){
                $("#result").val(str);
                return;
            }
            for(var i=1;i<num;i++){
                var n2=n*i;
                if(num==n2){
                    str=num+"은"+n+"의 배수입니다.";
                    $("#result").val(str);
                    return;
                }
                if(n2>num){
                    str=num+"은"+n+"의 배수가 아닙니다.";
                    $("#result").val(str);
                    return;                 
                }
            }
        }               
    </script>

2019/05/13 16:53

오택주

#include <stdio.h>

int discrimination(int subject, int n);

void main(){

    int nTimes;
    int multiplesQ;
    int primeNumber;

    scanf("%d",&nTimes);
    while(times>0){
        scanf("%d %d",&multiplesQ, &primeNumber);
        printf("%d\n",discrimination(multiplesQ, primeNumber));
        nTimes = nTimes - 1;
    }
}

int discrimination(int subject, int n){

    while(subject>n){
        subject = subject-n;
    }

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

2019/05/15 16:14

Wonsang Kim

def inp():
    x, n = map(int, input('>>>').split(' '))
    if x<0 or n<2: return inp()
    else: return x, n

def run():
    x, n = inp()
    for i in range(1000):
        r = 0;
        if n*i == x:
            r = 1;
            break
    print(r)

2019/05/27 10:42

이진형

for x, n in  [(432, 2), (4, 3), (635, 5), (421, 7), (122, 11), (143, 13)]:
    print(x in range(n, x+1, n))

2019/07/08 17:37

Noname

public class Multiple {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.print("정수 2개를 입력하세요 >> ");
        int x = scan.nextInt();
        int n = scan.nextInt();

        int count = 0;
        if(n == 2 || n == 3 || n == 5 || n == 7 || n == 11 || n == 13) {
            for(int i=1; i<x; i++) {
                if(n * i == x) {
                    count++;
                }
            }
            if(count == 1) {
                System.out.println("1");
            } else {
                System.out.println("0");
            }
        }

        scan.close();

    }

}

2019/07/19 19:00

김남일

i = input()
sol = []

for inner in range(0,int(i)):
    d = 0
    in_num = input()
    num = in_num.split()

    x = int(num[0])
    n = int(num[1])

    for p in range(0, x+1, n):
        if p == x:
            d = 1
            break;
    sol.append(d)

print("")

for inner in range(0,int(i)):
    print(sol[inner])

2019/07/23 11:48

백창훈

count=int(input("입력할 정수 개수 입력: "))
dic={}
while count !=0:
    a=int(input("x 입력: "))
    b=int(input("n 입력: "))
    dic[a]=b
    count=count-1
for i in dic:
    sub=i
    while sub >0:
        sub=sub-dic[i]
    if sub==0:
        print("%d는 %d의 배수가 맞다"%(i,dic[i]))
    else:
        print("%d는 %d의 배수가 아니다"%(i,dic[i]))

파이썬에서 딕셔너리를 이용하여 풀어봤습니다

2019/08/09 00:10

박재욱

list_1 = []; list_2 = []; num = int(input())
for i in range(num):a = list(map(int, input().split(' '))); list_1.append(a)
for i in range(len(list_1)):
    if list_1[i][0] % list_1[i][1] == 0: list_2.append(1)
    else: list_2.append(0)
for i in range(len(list_2)): print(list_2[i])

2019/09/20 13:15

이명운

아마 제일 원하는 답에 근접한 방법이지 않을까 싶습니다.

2, 3, 5의 배수 판별은 뭐 다들 잘 아실거고.. 7, 11, 13의 배수는 7 * 11 * 13 = 1001 임을 이용해서

해당 수를 1001로 나눈 나머지를 먼저 구한 뒤 그 나머지 값이 7, 11, 13의 배수인지를 판단하는 코드입니다.

중간중간에 숫자 자리올림을 해야할 때 무의식적으로 %나 / 연산자를 쓸 뻔했지만 유혹을 이겨내고 & 연산자 + 걍 10씩 빼는걸로 했습니다;

%d, %s에 있는 %는 카운트 안되는거 맞겠죠..?

#include<stdio.h>
int n, m;
char xx[1000009];
int a[1000009];
int tl;
int tmp[1000009];

int check_three[10] = { 1,0,0,1,0,0,1,0,0,1 };
int check_five[10] = { 1,0,0,0,0,1,0,0,0,0 };
int check_seven[1009];
int check_eleven[1009];
int check_thirteen[1009];
void inil() {
    int i, j, k;
    for (i = 0; i <= 1001; i++) {
        check_seven[i] = check_eleven[i] = check_thirteen[i] = 0;
    }
    for (i = 0; i <= 1001; i += 7)check_seven[i] = 1;
    for (i = 0; i <= 1001; i += 11)check_eleven[i] = 1;
    for (i = 0; i <= 1001; i += 13)check_thirteen[i] = 1;
}
int main()
{
    inil();
    int i, j;
    int t, tv = 0;
    scanf("%d", &t);
    while (t--) {
        scanf("%s %d", xx, &n);
        for (m = 0; xx[m]; m++);
        for (i = 0; i < m; i++)a[i] = xx[m - i - 1] - '0';
        int result = 0;
        if (n == 2) {
            result = !(a[0] & 1);
        }
        if (n == 5) {
            result = check_five[a[0]];
        }
        if (n == 3) {
            while (m>1) {
                tl = 1;
                while (m--) {
                    tmp[0] += a[m];
                    a[m] = 0;
                    for (i = 0;i < tl; i++)while (tmp[i] >= 10) { tmp[i + 1]++; tmp[i] -= 10; }
                    while (tmp[tl] > 0) {
                        while (tmp[tl] >= 10) { tmp[tl + 1]++; tmp[tl] -= 10; }
                        tl++;
                    }
                }
                m = tl;
                for (i = 0; i < tl; i++) {
                    a[i] = tmp[i];
                    tmp[i] = 0;
                }
            }
            result = check_three[a[0]];
        }
        if (n == 7 || n == 11 || n == 13)
        {
            while (m > 3) {
                int sum = 0;
                for (i = 0; i < m; i += 3) {
                    int cur = a[i] + a[i + 1] * 10 + a[i + 2] * 100;
                    if (i & 1)sum -= cur;
                    else sum += cur;
                }
                for (i = 0; i < m; i++)a[i] = 0;
                if (sum < 0)sum = -sum;
                m = 1; a[0] = sum;
                while (a[m-1] > 0) {
                    while (a[m - 1] >= 10) { a[m]++; a[m - 1] -= 10; }
                    m++;
                }
            }
            int cursum = a[0] + a[1] * 10 + a[2] * 100;
            if (n == 7)result = check_seven[cursum];
            if (n == 11)result = check_eleven[cursum];
            if (n == 13)result = check_thirteen[cursum];
        }
        printf("%d\n", result);
    }
}

2019/09/27 22:41

pichulia

package d219_multiple_of_n;
import java.util.Scanner;
public class MultipleOfN {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int x=1,n=1;
        boolean result;

        while (x!=0) { // x에 0을 입력하면 실행 종료.
            System.out.println("Input x and n. (if x==0 then it stops running.):");
            x = sc.nextInt();
            n = sc.nextInt();
            result=false;

            for(int i=0; n*i<=x; i++) {
                if(n*i==x) result=true;
                //System.out.println(n+"*"+i+" and "+x);
            }
            System.out.println(result);
        }
    }
}

2019/10/14 19:44

Katherine

def function(x,n):
    if x in range(0,x+1,n):
        return 1
    else :
        return 0



result = function(432,2)
print(result)
result = function(4,3)
print(result)
result = function(635,5)
print(result)
result = function(421,7)
print(result)
result = function(122,11)
print(result)
result = function(143,13)
print(result)

2019/10/16 23:42

semipooh

public class n의배수판정법 {
    int left, right;

    public void input(int left, int right) {
        this.left = left; this.right = right;
    }

    public void 판정() {
        for(int i=1; i<=left; i++) {
            if(i*right==left) {
                System.out.println(1);
                break;
            }
            else if (i*right>left){
                System.out.println(0);
                break;
            }
        }
    }

    public static void main(String[] args) {
        n의배수판정법 c1 = new n의배수판정법();
        c1.input(432, 2);
        c1.판정();
        c1.input(4, 3);
        c1.판정();
        c1.input(635, 5);
        c1.판정();
        c1.input(421, 5);
        c1.판정();
        c1.input(122, 11);
        c1.판정();
        c1.input(143, 13);
        c1.판정();
    }
}

2019/11/14 19:49

big Ko

bool Multiple_check(int n, int x)
{
bool result = true;
//int element[5] = {2,3,5,7,11,13}
while(x>=n)
{
x-=n;
}
x == 0 ? 0 : result =false;
return result;
}

2019/12/21 02:41

Anderson

파이썬

dic={432:2,4:3,635:5,421:7,122:11,143:13}
g = lambda x,n: x in range(0,x+1,n)
for i,j in dic.items():
    g(i,j)
    print(f'입력 숫자: {i}\n나누는 숫자: {j}\n결과: {g(i,j)}\n{"-"*15}')

입력 숫자: 432
나누는 숫자: 2
결과: True
-------------
입력 숫자: 4
나누는 숫자: 3
결과: False
-------------
입력 숫자: 635
나누는 숫자: 5
결과: True
-------------
입력 숫자: 421
나누는 숫자: 7
결과: False
-------------
입력 숫자: 122
나누는 숫자: 11
결과: False
-------------
입력 숫자: 143
나누는 숫자: 13
결과: True
-------------

2019/12/24 17:15

data big

while True:
    print("""음수가 아닌 정수 x가 n의 배수인지 판별합니다.
해당 수의 배수가 맞다면 1을, 아니면 0을 출력합니다.""")
    x=int(input("0이상의 숫자 x를 입력하십시오: "))
    n=int(input("0이상의 숫자 n를 입력하십시오: "))
    if n==0:   #n이 0일 경우 x에서 0을 무한 반복해서 빼는 것을 방지
        print('')
        continue
    while True:
        x-=n   #x에서 n을 빼는 것을 반복하여 배수인지 판별
        if x==0:
            print(1)
            break
        if x<0:
            print(0)
            break

2019/12/26 11:42

박시원

N, nxlist, Check = int(input()), list(), False
def Main(n, x):
    for i in range(x):
        if n * i == x:
            Check = False
            return Check
        elif n * i != x:Check = True

for i in range(N):nxlist.append(list(input().split()))
for i in range(len(nxlist)):
    for j in range(len(nxlist[i])):nxlist[i][j] = int(nxlist[i][j])

for i in range(N):
    if Main(nxlist[i][1],nxlist[i][0]) == False:print(1)
    else:print(0)

2020/01/20 14:43

BlakeLee

a = int (input("How many numbers:"))

n = [2,3,5,7,11,13]

for i in range(1,a+1):

    k = int(input(i))

    m = 1

    while m < k:

        m=m*n[i-1]

        if k == m:

            print ('1')

            break

        elif m > k:

            print ('0')

            break

2020/02/11 17:01

HyukHoon Kim

x, n = map(int, input('자연수 1개, n의 종류중 1개를 입력하시오:').split())
def divmod(x, n):
    while x > 0:
        x -= n
        if x == 0:
            return True
    return False

2020/02/14 10:10

KMH

x, n = list(map(int,input().split()))
if x>=0 and type(x)==int:
    while x>0:
        x-=n
        if x==0:
            print("1")
        elif x<0:
            print("0")

else: print("1")

2020/03/02 16:58

황예진

def ndiv(num, n):
    for i in range(num+1):
        if i*n==num:
            print('1')
            break
        if i*n<num:
            i+=1
        if i*n>num:
            print('0')
            break

2020/03/05 20:45

Caplexian _

print('how many times?',end='')
howmany=int(input())

x=[]
n=[]
for i in range (0,howmany):
print (i)
print('x=?',end='')
x.append(int(input()))
print('n=?',end='')
n.append(int(input()))

for i in range (0,howmany):
temp=x[i]
while(temp>0):
temp=temp-n[i]
if temp==0:
print (1)
else:
print (0)

2020/03/08 00:55

Buckshot

def mult(x,n):
    a='배수아니네'
    for i in range(x):
        if n*i==x:
            a='배수네'
        else:pass

    print(a)

2020/04/20 21:01

양양짹짹

a,b = input().split()
x in range(0,x+1,n)


띄어쓰기로 입력하시면 됩니당

2020/05/09 23:33

Money_Coding

package main

import (
    "fmt"
)

func add(Nmain int, Ncheck int) int {
    fmt.Scanln(&Nmain, &Ncheck)
    var varcheck int = 0
    for i := 1; i <= Nmain; i++ {
        check := Ncheck * i
        if check == Nmain {
            varcheck = 1
            break
        }
    }
    return varcheck
}

func main() {
    var N int
    fmt.Scanln(&N)
    for i := 0; i < N; i++ {
        var Nmain int = 0
        var Ncheck int = 0
        fmt.Printf("%d\n", add(Nmain, Ncheck))
    }
}

2020/06/10 13:28

BlakeLee

#include <stdio.h>

int main(){

    int x,n;

    scanf("%d",&x);
    scanf("%d",&n);

    while(x>0)
        x-=n;

    if(x==0)
        printf("1");
    else
        printf("0");

    return 0;
} 

간단하지만 쉬운 방법 무한히 빼면됨

2020/09/19 22:50

June

using System;
using System.Collections.Generic;

namespace _61일차_10월01일
{        
    class MainApp
    {
        //2의 배수 판정법 : 끝자리가 0, 2, 4, 6, 8이면 원래 수는 2의 배수이다.
        //3의 배수 판정법 : 각 자리 수의 합이 3의 배수이면 원래 수도 3의 배수이다.
        //5의 배수 판정법 : 끝자리가 0 또는 5이면 원래 수는 5의 배수이다.
        //7,11,13의 배수 판정법 : 123123 = 123*1001 = 123*7*11*13
        static void Main(string[] args)
        {                
            bool Check = true;
            while (Check)
            {
                Console.Write("Input Main Number : ");
                string input_Main = Console.ReadLine();
                Console.Write("Input Sub Number (Select 2,3,5,7,11,13) : ");
                string input_Sub = Console.ReadLine();

                //3의 배수 판별을 위한 설정 (배열설정후 위 주석에 작성된 조건에 따라 배수판별 진행)
                char[] Array_Char = input_Main.ToCharArray();
                int Total = 0;
                for (int i = 0; i < Array_Char.Length; i++)
                {
                    Total += int.Parse(Array_Char[i].ToString());
                }
                while (true)
                {
                    Total -= 3;
                    if (Total < 0 || Total == 0)
                        break;
                }

                int index = Array_Char.Length - 1;

                //0을 입력할 경우 다시 입력하도록 조건설정
                if (int.Parse(input_Main) == 0 || int.Parse(input_Sub) == 0)
                {
                    Console.WriteLine("'0' input Re Try.");
                }
                //2의 배수
                else if (int.Parse(input_Sub) == 2 && (new List<int> { 2, 3, 5, 7, 11, 13 }.Contains(int.Parse(Array_Char[index].ToString()))))
                {
                    Console.WriteLine($"{input_Main}은 {input_Sub}의 배수? : OK");
                }
                //3의 배수
                else if (int.Parse(input_Sub) == 3 && Total == 0)
                {
                    Console.WriteLine($"{input_Main}은 {input_Sub}의 배수? : OK");
                }
                //5의 배수
                else if (int.Parse(input_Sub) == 5 && (new List<int> { 0, 5 }.Contains(int.Parse(Array_Char[index].ToString()))))
                {
                    Console.WriteLine($"{input_Main}은 {input_Sub}의 배수? : OK");
                }
                //7,11,13의 배수 7,11,13의 배수 판정법 : 123123 = 123*1001 = 123*7*11*13
                else if (int.Parse(input_Sub) >= 7 && int.Parse(input_Main) / 1001 == int.Parse(input_Main) / 1000 * 7 * 11 * 13)
                {
                    Console.WriteLine($"{input_Main}은 {input_Sub}의 배수? : OK");
                }
                else Console.WriteLine($"{input_Main}은 {input_Sub}의 배수? : No");

                //종료 여부 판별                
                Console.Write("다시 진행시 'Y' 종료시 'N' : ");
                if (Console.ReadLine().ToUpper() == "N")
                {
                    Check = false;
                }
            }  
        }
    }
}

2020/10/01 21:35

MinSeung Kang

print('n=',[2,3,5,7,11,13])
for i in range(int(input('횟수'))):
    x,n=map(int,input().split())
    if x<0 or n not in [2,3,5,7,11,13]:
        raise NotImplementedError
    else:
        while True:
            k=x-n
            if k==0 or k==1: break
            x-=n
        if k==0: print('1')
        else: print('0')

2020/10/20 10:25

AppleFarmer

class identifyNumber:
    def __init__(self):
        self.result = 0
        self.n = [2,3,5,7,11,13]
    def decideNum(self,b,m):
        if m==0:
            for i in self.n:
                j = self.checkMult(b,i)
                self.result += j
        else:
            j = self.checkMult(b,m)
            self.result += j
        print(self.result)
        self.__init__()
    def checkMult(self,b,m):
        for i in range(0,b+1,m):
            if i==b:
                return 1
        return 0


a = identifyNumber()
a.decideNum(6,0)
a.decideNum(432,2)
a.decideNum(4,3)
a.decideNum(635,5)
a.decideNum(421,7)
a.decideNum(122,11)
a.decideNum(143,13)

2020/11/13 16:13

footsize

def multiple_of_n(x, n):
        remainder = x-n*(x//n)
        if remainder:
            print("0")
        else:
            print("1")

multiple_of_n(432,2)
multiple_of_n(4,3)
multiple_of_n(635,5)
multiple_of_n(421,7)
multiple_of_n(122,11)
multiple_of_n(143,13)

2020/11/23 15:03

김우석

def oh_my():

  number = input("write X Y")

  numbers=number.split(" ")

  if numbers[1]=="2":

    if numbers[0][-1] in ["0","2","4","6","8"]:

      return '1'

    else:

      return "0"

  elif numbers[1]=="3":

    for_answer=numbers[0]

    for_answer_number=int(for_answer)

    print(for_answer_number)

    while for_answer_number>10:

      for_answer_number=0

      for i in for_answer:

        for_answer_number+=int(i)

      for_answer=str(for_answer_number)

    if for_answer_number in [3,6,9]:

      return '1'

    else :

      return "0"

  elif numbers[1]=="5":

    if numbers[0][-1] in ["0","5"]:

      return "1"

    else:

      return "0"

2020/12/10 19:04

전준혁

import java.util.Scanner;

public class Test {

    static int x = 0;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("0이상의 정수 x를 입력하세요 : ");
        x = sc.nextInt();
        divide(2);
        divide(3);
        divide(5);
        divide(7);
        divide(11);
        divide(13);
        sc.close();
    }

    public static void divide(int i) {
        int y = x;
        int j = 0;
        while (y > 0) {
            y = y - i;
            j++;
        }

        if (y != 0) {
            System.out.println("입력된 숫자는 " + x + "이며, " + i + "의 배수가 아닙니다.");
        } else {
            System.out.println("입력된 숫자는 " + x + "이며, " + i + "의 배수입니다.");
            System.out.println(x + " = " + i + "*" + j);
        }
    }

}

2020/12/22 23:09

JIHWAN KWON

n = int(input())
i = 0
arr = []
while i < n:
    arr.append(list(map(int,input().split(" "))))
    i += 1
for i in arr:
    j = 1
    while True:
        if(i[0] == j*i[1]):
            print("1")
            break
        elif(i[0] < j*i[1]):
            print("0")
            break
        else:
            j+= 1

게속 곱해가면서 같은지 확인

2020/12/24 19:59

guma go

n배의 등차수열과 비교하는 소모적이나 단순한 방법입니다

def IsMultiple(x, n):
    kn = n
    while kn<=x:
        if kn==x:
            return True
        kn += n
    return False

Ns = {2,3,5,7,11,13}

for x in list(range(50))[1:]:
    print(x, '는', end='')
    for n in Ns:
        if IsMultiple(x,n):
            print(' ', n, end='')
    print('의 배수')

2021/01/04 17:26

김준우

python 3.8.7입니다.

>>> def test(x, n):
...     while x > 0:
...         x = x - n
...     if x == 0:
...         return '1'
...     else:
...         return '0'
...
>>> test(5, 2)
'0'
>>> test(24636, 3)
'1'

2021/01/15 12:09

이준우

x, n = (map(int, input().split(' ')))

t_f = True
output = 0
i = 0
while t_f:
    i += 1
    if x < i * n:
        t_f = False
    elif x == i * n:
        output = 1 
        t_f = False

print(output)

2021/02/06 13:10

asdfa

num_count = int(input())
a = []
for k in range(num_count):
    a.append(input().split(" "))

for i in a:
    sum = 0
    while sum < int(i[0]):
        sum += int(i[1])
        if sum == int(i[0]):
            print(f"합계는 {sum}이며 배수입니다 !")
        elif sum > int(i[0]):
            print(f"합계는 {sum}이며 배수가 아닙니다 !")



2021/02/17 20:41

개촙오

x = int(input("숫자입력"))
n = int(input('숫자입력2'))

flag = 0

for i in range(1,x+1):
    if n * i == x :
        flag = 1

if flag :
    print('1')
else :
    print('0')

2021/03/10 08:42

최우진

cnt = int(input())
n = []
x = []
for i in range(cnt):
    tmp_n, tmp_x = map(int, input().split())
    n.append(tmp_n)
    x.append(tmp_x)

for i in range(cnt):
    result = 1
    tmp_n, tmp_x = n[i], x[i]
    while True:
        if tmp_n < tmp_x and tmp_n > 0:
            result = 0
            break
        elif tmp_n == 0:
            break
        tmp_n -= tmp_x

    print(result)

2021/04/07 09:02

잘해보자

def findout(x,n):
    while x >= n:
        x -= n
    return x

x = int(input())
n = int(input())
nam = findout(x,n)

if nam == 0: print(1)
else: print(0)

2021/05/19 23:04

ss2663

#codingdojing_nMutiple

count = eval(input('enter the number of input: '))

for i in range(count):
    (x , n) = input().split()
    m = 0
    while True:
        if int(x) == m:
            print(True)
            break
        elif int(x) < m:
            print(False)
            break
        else:
            m += int(n)


2021/07/14 20:40

Jaeman Lee

def multiple(i,s):
    while i >= s:
        i=i-s
    if i == 0:
        return '1'
    else:
        return '0'

if __name__ == '__main__':
    print(multiple(121,11)) 

2021/09/13 19:00

서현준

몇 가지 알려진 배수 판정법을 생각하는 순간 지는 게임이군요.

def check(x, n):
  assert n > 0
  while x > n:
    x -= n
  rerturn 1 if x == n else 0

def main():
  inputs = [map(int, input().split()[:2]) for _ in range(int(input()))]
  for line in inputs:
    print(check(*line))

main()

2021/10/19 17:11

룰루랄라

static void multi(int...x) {
        if(x.length >1) {
            boolean isMulti = false;
            for(int i = 1; i < x[0]; i++) {
                if(i * x[1] == x[0]) {
                    isMulti = true;
                    break;
                }
            }
            if(isMulti)
                System.out.println("1");
            else
                System.out.println("0");
        }else
            return;
    }
    static void add(int...x) {
        if(x.length >1) {
            boolean isAdd = false;
            int sum = 0;
            for(int i = 1; i < x[0]; i++) {
                sum += x[1];
                if(sum == x[0]) {
                    isAdd = true;
                    break;
                }else if(sum > x[0])
                    break;
            }
            if(isAdd)
                System.out.println("1");
            else
                System.out.println("0");
        }else
            return;
    }

    static void minus(int...x) {
        if(x.length >1) {
            boolean isMinus = false;
            int sum = x[0];
            for(int i = 1; i < x[0]; i++) {
                sum -= x[1];
                if(sum == 0) {
                    isMinus = true;
                    break;
                }else if(sum < 0)
                    break;
            }
            if(isMinus)
                System.out.println("1");
            else
                System.out.println("0");
        }else
            return;
    }

    public static void main(String[] args) {
        multi(6);
        multi(432, 2);
        multi(4, 3);
        multi(635, 5);
        multi(421, 7);
        multi(122, 11);
        multi(143, 13);

        System.out.println("\n");

        add(6);
        add(432, 2);
        add(4, 3);
        add(635, 5);
        add(421, 7);
        add(122, 11);
        add(143, 13);

        System.out.println("\n");

        minus(6);
        minus(432, 2);
        minus(4, 3);
        minus(635, 5);
        minus(421, 7);
        minus(122, 11);
        minus(143, 13);
    }

2021/10/24 13:38

박대현

arr_x =[]
arr_n =[]

def solution(x,n) :
    arr = []
    for i in range(1,x+1) :
        if n*i > x :
            break
        else :
            arr.append(n*i)
    if x in arr :
        print(1)
    else : 
        print(0)

while True:
    num = int(input("몇개의 함수?"))
    if num>=0 :
        break

for k in range(num) :
    while True:
        x = int(input("어떤 수 x를 입력해주세요"))
        n = int(input("어떤 수 n을 입력해주세요"))
        if x >=0 and n>=0 :
            arr_x.append(x)
            arr_n.append(n)
            break


for i in range(num) :
    solution(arr_x[i],arr_n[i])

2021/12/18 17:05

양캠부부

x,n = input().split()
m=1
while int(x) > int(n)*m:
    m = m+1
if int(x) == int(n)*m:
    print(f'{x}는(은) {n}의 배수입니다.')
else:
    print(f'{x}는(은) {n}의 배수가 아닙니다.')

2022/01/26 11:11

로만가

def xn(x, n):
    i=1
    while 1:
        if n*i==x:
            print("True")
            break
        elif n*i<x:
            pass
        elif n*i>x:
            print("False")
            break
        i = i + 1

2022/03/14 18:34

박건호

def detectMultiple():
  num = int(input())
  result = []
  for i in range(num):
    x, n = map(int, input().split())
    for j in range(x):
      count = 0
      if n * j == x:
        count = 1
        result.append(1)
        break
    if count == 0:
      result.append(0)

  print(result)

detectMultiple()

2022/03/19 22:46

Charles

while True:
    x = int(input("정수를 입력하시오.>> x = "))
    y = int(input("정수를 입력하시오.>> y = "))

    if x<y or x<=0 or y<=0:
        print("다시 입력해주세요.")
    else:
        while True:
            x-=y
            if x<y:
                break
        break

if x==0:
    print("x는 y의 배수입니다.")
else:
    print("x는 y의 배수가 아닙니다.")

2022/03/21 18:07

KORRNOI

def func(l):
    for k in range(len(l)):
        a,b = l[k]
        i = 0
        while True:
            if i*b == a:
                print('1')
                i += 1
                break
            elif i*b > a:
                print('0')
                break
            else:
                i += 1

n = int(input())

l =[]
for i in range(n):
    a,b = map(int, input().split())
    l.append((a,b))

func(l)

2022/12/20 07:55

박대선

python

number = int(input("입력할 정수의 개수: "))

nums = []
for i in range(number):
    num = input()
    num = num.split()
    nums.append(num)

for i in range(number):
    x = int(nums[i][0])
    n = int(nums[i][1])
    while x >= 0:
        x -= n

    if x+n == 0:
        print('1')
    else:
        print('0')

2023/02/15 13:28

세라

def chk_multiple(n, x):
    ix = n
    chk = 0
    while(1):
        if ix > x:
            break
        elif ix == x:
            chk = 1
        ix *= n

    if chk == 1:
        print("{}의 배수".format(n))
    else:
        pass#print("{}과 무관".format(n))

def print_line():
    print("--------------------------")

def print_line2():
    print("==========================")

#_main
input_list = []
n_list = []
print_line2()
while(1):
    input_num = input("자연수 입력(0 입력시 종료) : ")
    try:
        int_input = int(input_num)
        if int_input == 0:
            break
        input_list.append(int_input)
    except:
        print("잘못된 입력입니다.")

print_line()
print("{}개 입력 하셨습니다.".format(len(input_list)))
print_line()

print_line2()
i = 0
while(i < len(input_list)):
    input_n = input("정수 n 입력 : ")
    try:
        input_n = int(input_n)
        n_list.append(input_n)
        i += 1
    except:
        print("잘못된 입력입니다")

print_line2()
for x in input_list:
    print_line()
    print("{} : ".format(x))
    for i in n_list:
        chk_multiple(i, x)

print_line2()

2023/04/04 09:23

HoHyeon Kim

def isMultipleOfN(x, n):
    l = len(str(x))
    y = n * (10**(l-1))
    while x >= n:
        if y > x:
            x, y = x, y-x
        else:
            x, y = y, x-y
    if x == 0:
        return True
    else:
        return False


print(isMultipleOfN(432, 2))
print(isMultipleOfN(4, 3))
print(isMultipleOfN(635, 5))
print(isMultipleOfN(421, 7))

2023/08/14 16:51

insperChoi

x = int(input("X:"))
n = int(input("N:"))
mx = 0
while mx < x :
   mx = mx + n
if mx != x:print(x,"is not a multiple of",n)
else:
   print(x,'is a multiple of',n)

2023/09/06 18:34

siu yoon

목록으로