1 条题解

  • 0
    @ 2025-4-12 22:06:17

    C :

    #include<stdio.h>
    int nianpanduan(int a)
    {
    	if(a%100!=0&&a%4==0||a%400==0)
    	return 1;
    	return 0;
    }
    main()
    {
    	int month[13]={0,12,31,28,31,30,31,30,31,31,30,31,30};
    	int mon,tue,wed,thu,fri,sat,sun,sum,i,j,n;
    	while(scanf("%d",&n)!=EOF)
    	{
    		mon=0;tue=0;wed=0;thu=0;fri=0;sat=0;sun=0;
    		for(i=1900,sum=0;i<1900+n;i++)
    		for(j=1;j<=12;j++)
    		{
    			sum+=month[j];
    			if(j==3&&nianpanduan(i)==1)
    			{
    			sum++;
    			}
    			if(sum%7==0)
    			mon++;
    			if(sum%7==1)
    			tue++;
    			if(sum%7==2)
    			wed++;
    			if(sum%7==3)
    			thu++;
    			if(sum%7==4)
    			fri++;
    			if(sum%7==5)
    			sat++;
    			if(sum%7==6)
    			sun++;
    			if(j==12)
    			sum+=19;
    		}
    		printf("%d %d %d %d %d %d %d\n",sat,sun,mon,tue,wed,thu,fri);
    	}
    }
    

    C++ :

    /*
    ID:crazysona
    PROB:friday
    LANG:C++
    */
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    int isleap(int y)
    {
        return y % 4==0 && (y % 100 != 0 || y % 400 == 0);
    }
    
    int mtab[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    
    
    int mlen(int y, int m)
    {
        if(m == 1)
            return mtab[m]+isleap(y);
        else
            return mtab[m];
    }
    
    int main(void)
    {
        int i, m, dow, n, y;
        int ndow[7];
    	//freopen("2.in", "r", stdin);
    	//freopen("2.out", "w", stdout);
        while(scanf("%d", &n) != EOF){
    
        for(i=0; i<7; i++)
            ndow[i] = 0;
    
        dow = 0;
        for(y=1900; y<1900+n; y++) {
            for(m=0; m<12; m++) {
                ndow[dow]++;
                dow = (dow+mlen(y, m)) % 7;
            }
        }
    
        for(i=0; i<7; i++) {
            if(i)
                printf(" ");
            printf("%d", ndow[i]);
        }
        printf("\n");
        }
    
        return 0;
    }
    
    
    • 1

    信息

    ID
    2797
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者