1 条题解

  • 0
    @ 2024-5-10 0:45:58

    C :

    #include<stdio.h>
    
    int main()
    {
    	int m,k,d;
    	while(scanf("%d%d",&m,&k)!=EOF,m||k)
    	{
    		d=0;
    		while(m)
    		{
    			m--;
    			d++;
    			if(d%k==0)
    				m++;
    		}
    		printf("%d\n",d);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    int main()
    {
    	int m,k,d;
    	while(scanf("%d%d",&m,&k)!=EOF,m||k)
    	{
    		d=0;
    		while(m)
    		{
    			m--;
    			d++;
    			if(d%k==0)
    				m++;
    		}
    		printf("%d\n",d);
    	}
    	return 0;
    }
    

    Pascal :

    var m,n,t,p:integer;
    begin
      m:=1;
      while (m<>0) or (n<>0) do begin
        readln(m,n);
        if (m=0) and (n=0) then break;
        while m>0 do begin
          inc(t);p:=p+1;m:=m-1;
          if p=n then begin m:=m+1;p:=0; end;
        end;
        writeln(t);t:=0;p:=0;
      end;
    end.
    
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		while(true){
    			int m = in.nextInt();
    			int k = in.nextInt();
    			if(m==0 && k==0)break;
    			int tem = m;
    			while(true){
    				if(tem<k)break;
    				m += tem/k;
    				tem = tem%k+tem/k;
    			}
    			System.out.println(m);
    		}
    	}
    
    }
    
    

    Python :

    import sys
      
    def check(m,k):
        i=0
        while True:
              if m!=0:
                  m -= 1
                  i +=1
                  if i%k==0:
                     m = m+1
              if m==0:
                  break
        return i
    
    for line in sys.stdin:
        m,k=map(lambda x:int(x),line.split())
        if m!=0 and k!=0:
           print check(m,k)
    
    • 1

    信息

    ID
    6218
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者