1 条题解

  • 0
    @ 2024-12-24 9:59:26

    C :

    #include "stdio.h"
    int main()  
    {   
        int p,e,i,d,j,k=1;
    	while(scanf("%d%d%d%d",&p,&e,&i,&d)!=EOF)
    	{
    		if(p==-1&&e==-1&&i==-1&&d==-1) break;
    		for(j=d+1;j<=21252+d;j++)
    		{
    			if((j-p)%23==0&&(j-e)%28==0&&(j-i)%33==0)
    			{
    				printf("Case %d: the next triple peak occurs in %d days.\n",k,j-d);
    				k++;
    			}
    		}			
    	}
        return 0;  
    }  
    

    C++ :

    /*中国剩余定理(孙子定理)
    在中国古代著名数学著作《孙子算经》中,有一道题目叫做“物不知数”,原文如下:
    
    有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
    即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。
    
    中国数学家秦九韶于1247年做出了完整的解答,口诀如下
    
    三人同行七十希,五树梅花廿一支,七子团圆正半月,除百零五使得知
    这个解法实际上是,首先利用秦九韶发明的大衍求一术求出5和7的最小公倍数35的倍数中除以3余数为1的最小一个70(这个称为35相对于3的数论倒数),3和7的最小公倍数21相对于5的数论倒数21,3和5的最小公倍数15相对于7的数论倒数15。然后
    
    
    233便是可能的解之一。它加减3、5、7的最小公倍数105的若干倍仍然是解,因此最小的解为233除以105的余数23。
    
    附注:这个解法并非最简,因为实际上35就符合除3余2的特性,所以最小解是:最小解加上105的正整数倍都是解。*/
    #include <stdio.h>
    
     int main()
    
    {
    
             int p,e,i,d,n;
    
             int num=1;  
    
             while(1)
    
            {   
    
                  scanf("%d%d%d%d",&p,&e,&i,&d);   
    
                  if(p!=-1)
    
                  {        
    
                          n=(5544*p+14421*e+1288*i-d)%21252;  
    
                          if(n<=0)  
    
                                   n+=21252;        
    
                         printf("Case %d: the next triple peak occurs in %d days.\n",num++,n);
    
                  }   
    
                 else
    
                     break;
    
     }
    
     return 0;
    
    }
    
    • 1

    信息

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