一个算法问题,大家应该感兴趣的。

一个简单的算法问题 我很菜 就是不会

假设今天是星期2 还有规定一个天数:39天
问:在这39天里,有多少个星期六 星期天?

求一个算法。 谢谢!

我写了个...里面天数可以自己定...改掉39就行了..

[code="java"]public class Test {

public static void main(String[] args) {

 int saturdayTime=1;//周六天数
 int sundayTime =1;//周日天数
 int totalSatur =0;//总周六天数
 int totalSunday =0;//总周日天数

 //注意day -6 % 7=7就是整数了..由于由周二开始...有六天..所以39要减6,但是那周的周六,日天数各+1
 int day =39-6;//减去当周开始到周末的天数6
 if((day-6)%7<6){
 totalSatur =(day-6)/7*saturdayTime +1;
 totalSunday =(day-6)/7*saturdayTime +1;
 }
 else if((day-6)%7==6){
 totalSatur =(day-6)/7*saturdayTime +1+1;//周六再加1
 totalSunday =(day-6)/7*saturdayTime +1;
 }
System.out.println("周六天数:"+totalSatur);
System.out.println("周日天数:"+totalSunday);

}

}[/code]

补充...上面那个只是从周二开始的..
如果楼主要从其他开始,加个switch差不多,同时要写对应减少的天数,比如周三就减5..,在上面代码中从周二开始..周二到周末就减6 :wink:
不过如果是周日开始,那样周六就不能一开始就加1,而只有周日加1

LZ可以参考下这里,有个同类问题的通用算法的讨论

[quote]
如何计算某时间段内有几个星期几?
http://topic.csdn.net/t/20061216/15/5235157.html
[/quote]