问题:小周喜爱健身,从每周一开始跑步100米,本周中其他工作日以及周末双休在前一天的基础上多跑100米,如周一跑100米,则周二跑200米周三跑300米。到下个星期一时在上个星期一的基础上多跑100米,则是200米,之后的本周日期如上个星期雷同多跑100米。求写程序随意输入天数,计算出跑了多少米。
@Test
void printDays(){
int i = calDays(1500);
System.out.println(i);
}
int calDays(int days) {
if(days == 0) {
return 0;
}
int count = 0;
int initMonday = 100;
int total = 0;
for (int i = 1; i <= days;i++) {
int num = days / 7;
// 说明大于一周,则在之前周一的基础上多跑100米
if(days > 7 && i % 7 == 1 && i >= 7) {
total = num > 1 ? initMonday * num : initMonday;
}
count += total + 100;
total += 100;
}
return count;
}