# Problem with begginer logic

While studying doing some exercises, I created an Account with 1000 Contacts related to this account.

My problem is, there the Number_field__c in the Contact Obj. What I need to do is populate the Number_field__c just to 1 to 5. When is 6, it needs to get back to 1 and so on.

I've tried many forms but I`m stuck with something like this:

``````Account acc = new Account(Name='Dependentes');
insert acc;

List<Contact> conList = new List<Contact>();

for(Integer i = 1; i <= 1000; i++) {

Integer n = 0;
Contact c = new Contact();
c.LastName = 'Contato ' + i;
c.AccountId = acc.Id;
c.Number_field__c  = i;
}
insert conList;
``````

As far as I could get.

You can use Math.mod for this, which returns the remainder after division:

``````c.Number_field__c  = 1+Math.mod(i,5);
``````

The method Math.mod returns a value from 0 to the second parameter minus 1, so we add 1 to get a number from 1 to 5.

As a side note, to get the first account to start at 1, you'd rather start from zero in your loop:

``````for(Integer i = 0; i < 1000; i++) {
``````

This is the usual way you'd build a loop, since arrays are zero-indexed.