2016-06-24 1 views
-1

나는 그렇게부서의 나머지 부분을 배포하는 방법은 무엇입니까?

Dim i as Integer = 23 Mod 5 

준다, 5 개 그룹 (23 명) 학생을 분할해야 나머지 = 3

나는 나머지를 배포 할 수있는 방법 첫 번째, 두 번째, 세 번째 그룹이있을 것이다 1 명의 회원이 더 그러한 다른 사람들보다?

또는 역순으로 배포를 시작하려면 어떻게해야합니까? 다섯 번째, 네 번째 및 세 번째는 1 명의 여분 멤버가 있습니까?

내가이 값 싶어 그런 다음

Dim groupSize As Integer = students \ groups.Length  ' \ is integer division 
Dim remainder As Integer = students Mod groups.Length 

: 당신은 그룹 크기와 나머지를 계산하는 방법을 알고

Dim groups As Integer() = New Integer(4) {} 
Dim students As Integer = 23 

: 그래서

Dim groups(4) As Integer 
groups(0) = 5 
groups(1) = 5 
groups(2) = 5 
groups(3) = 4 
groups(4) = 4 
+1

너무 막연한 다음 시도 할 수 있습니다. 코드를 게시하십시오. – Blorgbeard

+0

좋아, 내가 찾고있는 결과를 추가했다. 어떻게하는지 나는 완전히 단서가 없다. – Jnnno

+1

동전을 사용하는 테이블에서 어떻게 할 수 있습니까? * 나는 23 페니가 있고, 나는 5 개의 더미가 필요하다. 그래서 저는 20 개 (5 더미의 4 개 더미)를 배포하고 나머지 3 개는 3 개로 분배합니다. 양쪽 끝에서 시작하여 나머지 부분 하나를 가져 와서 더미에 추가하십시오. 나는 여전히 더 많은 엑스트라를 가지고 있습니까? 그렇다면 하나를 집어 다음 더미에 놓으십시오. 나는 아직도 더 많은 것을 가지고 있니? 반복. * 논리는 루프를 사용하여 정확히 동일합니다. 그 중 어떤 부분에서 어려움을 겪고 있습니까? –

답변

0

을 이곳에 설정입니다 각 그룹을 살펴보고 크기를 할당하십시오 :

For i As Integer = 0 To groups.Length-1 
    groups(i) = groupSize 
Next 

마지막으로 나머지는 배포해야합니다. 귀하의 질문에 따르면, 첫 번째 나머지 1을 추가하려면 그룹 수. 로 변환

는 :

For i As Integer = 0 To remainder-1 
    groups(i) = groups(i) + 1 
Next 
0

이 나를 위해 작동합니다

Dim value = 23 
Dim divisor = 5 
Dim remainder = value Mod divisor 

Dim groups(divisor - 1) As Integer 

For i = 0 To divisor - 1 
    groups(i) = value \ divisor + If(i < remainder, 1, 0) 
Next 
0

당신은 코드

Dim r As Integer = 23 Mod 5 
Dim d As Integer = 23 \ 5 
Dim group(4) As Integer 
For i = 0 To group.Length - 1 
    group(i) = d 
    If r > 0 Then 
     group(i) += 1 
     r -= 1 
    End If 
Next 
관련 문제