回 帖 发 新 帖 刷新版面

主题:是高手的进帮我解决一下问题

1.从7张牌中任意抽出3张,有几种排列方法.
2.输入年月日.问:从公元1年1月1日至今过了多少天这一天是星期几?
[em10][em10]

回复列表 (共19个回复)

沙发

来几位高手帮我解决一下问题小弟谢过

板凳

1.?(7^2+1)*3+1*3(不一定对了[em1])
2.'注意最后一句“?S”不要漏电
  Y=2005:M=5:D=6
  FOR I=1 TO Y
  S=S+365
  IF (I MOD 4 AND NOT (I MOD 100)) OR I MOD 400 THEN S=S+1
  NEXT I
  FOR A=1 TO M
  S=S+28
  Select Case A
  Case 1,3,5,7,8,10,12
  S=S+4
  Case 4,6,9,11
  S=S+3
  Case 2
  If (A MOD 4 AND NOT (A MOD 100)) OR A MOD 400 THEN S=S+1
  End Select
  Next A
  S=S+D
  ?S[em1]

3 楼

您“前辈”可能没弄明白“?”书什么语句?就是PRINT的缩写,加变量/数字不许要空格

4 楼

1、如果不考虑顺序的话C(7,3)=(7*6*5)/(1*2*3)=35种。基本的排列组合题目。

5 楼

楼上的,你的是组合,排列应该是PRINT 7*6*5

6 楼

有 210 种

7 楼

不好意思,我也是菜鸟,咱们一起研究商量,共同提高。请看这样行不?
n=365.2563659:s=0
  if (y mod 4)=0 or (y mod 400)=0 then s=1
  if (y mod 400)=0 then s=0
a=CLNG(y*n)+m*30+t+d
  t=m\2-2
  if m=1 then t=0
  if m==9 or m=11 then t=(m+1)/2-2

其中n=365.2563659,根据中国社会科学院语言研究所词典编辑室《现代汉语词典》[公转]:地球绕太阳公转一周的时间是365天6小时9分10秒。


8 楼

7楼重新回复如下:
n = 365.25639 : s = 0
  if ( y mod 4 ) = 0 or ( y mod 400 ) = 0 then s = 1
  if ( y mod 100 ) =0 then s = 0
a = CLNG(( y - 1 ) * n )+ ( m - 1 ) * 30 + t + d      t = m \ 2 - 2
  if m = 1 then t = 0
  if m = 3 then t = -1 + s
  if m = 9 or m = 11 then t = ( m + 1) / 2 - 2
print "a =";a
 
说明:
n = ...(略)
a = ...:计算到本年的前一年年终,加上本年本月的上个月天数(先按30天计),加上比30天多出的天数(大月的月数)及一、二月份比60天少的天数(一般为-1),加上本月本日的日期数。

9 楼

DECLARE FUNCTION week% (d$)  'd$为date$格式

DEFLNG A-Z
FUNCTION week% (d$)
y = VAL(MID$(d$, 7, 4))
m = VAL(d$)
d = VAL(MID$(d$, 4, 2))
r = ((y MOD 4 = 0 AND y MOD 100 <> 0) OR (y MOD 400 = 0))
y = y - 1
a$="    0 31 59 90120151181212243273304334"
day&=(y*365+y\4-y\100+y\400+VAL(MID$(a$,m*3,3))+r*(m>2)+d)
week% = day& MOD 7
END FUNCTION

' day&就是公元以来的总天数

10 楼

7,8楼的有误,不好意思,再次更正。
n=365.2563657     '365天6小时9分10秒

我来回复

您尚未登录,请登录后再回复。点此登录或注册