一. 前言
这里我先说一下什么是“循环数”,循环数就是指始终在一个[0,n]的范围内循环的特殊集合
0,1,2,3...n
比如我们需要在第一个界面和第五界面之间不断切换,同时到第五个界面又会回到第一个界面,就比如说我们可能会写出以下代码:
#include<iostream>
using namespace std;
void CircleIndex(int index)
{
int ans = (index ) % 5;
cout << ans <<", ";
}
int main()
{
for (int i = 0; i < 11; i++)
CircleIndex(i);
return 0;
}
输出的结果:
0, 1, 2, 3, 4, 0, 1, 2, 3, 4,
我们可以得到从0~4的一些循环数
若我们想要得到0~4这个范围的循环数,但是是从1开始的则:
#include<iostream>
using namespace std;
void CircleIndex(int index)
{
int ans = (index +1)% 5;
cout << ans <<", ";
}
int main()
{
for (int i = 0; i < 11; i++)
CircleIndex(i);
return 0;
}
输出:
1, 2, 3, 4, 0, 1, 2, 3, 4, 0
我们可以看到我们需要(index+n)%num,而n即为开始的第一个数,范围则是[n,num]。