In k-fold cross-validation, what happens if k does not evenly divide the number of samples? Suppose you have a data set consisting of 25 samples and you decide to do 10-fold cross validation. 
Since 10 does not divide 25 evenly, how are the bins for each fold decided? Are the bins necessarily disjoint (in which case, you'd have to round down to 20 and have bins of size 2) or are certain samples shared between bins? (in which case you round up to 30 and have bins of size 3, some of which repeat across bins). 
I think I'm also missing a deeper reason for why one would be preferable to the other (if it is at all). 
 A: The subsets should all be disjoint. If the number of data points isn't evenly divisible by the number of cross validation folds, then some subsets will contain slightly more points than others. This is ok. Of course, for a given number of folds, the subsets should be chosen to be as evenly sized as possible. When computing the average error across test/validation sets, the average should be weighted by the number of points in each set.
Edit (how to produce a partition with relatively evenly sized subsets):
Standard statistics/machine learning libraries will do this for you automatically. One way to do it yourself:


*

*Say you have $n$ data points and want to perform k-fold cross validation. Let $v_i$ denote the $i$th element of vector $v$ (with indices starting at 1).

*Take the integers from 1 to $n$ (inclusive). Randomly permute their order and store them in vector $p$.

*Take $k+1$ real numbers evenly spaced from 1 to $n+1$ (inclusive). Round all values to the nearest integer, and store them in vector $q$.

*The indices of the data points in the $i$th subset are: [$p_{(q_i)}, \dots, p_{(q_{i+1}-1)}]$

A: As @user20160 said, the folds are disjoint. Also, it is choice in implementation as you want to divide your data in random partition. For example, in your case if you have 25 samples: in a ten-fold-cross-validation setting, 5 folds will have two samples and remaining five folds will have 3 samples of data. Below is a sample example from caret package in R.
library(caret)
stateCvFoldsIN <- createFolds(1:25, k = 10, returnTrain=TRUE, list = FALSE)
# samples in each fold
table(stateCvFoldsIN)

# Distribution of number of samples
table(table(stateCvFoldsIN))

