怎么就不对了???(在自己的编译器上运行时效果达到了)恳请大佬指导
查看原帖
怎么就不对了???(在自己的编译器上运行时效果达到了)恳请大佬指导
977778
__Harry_Haiyun__楼主2023/5/16 15:54
#include <stdio.h>
#include <ctime>
#include <cstdlib>
#include <math.h>
using namespace std;
int year(int y)
{
	srand(time(0));
	int n = 0;
	if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) 
	{
		n = rand() % 32767 + 1;
		return n;
	}
	else
	{
		n = rand() % 32768;
		n = n - n * 2;
		return n;
	}
}
int date(int day)
{
	if (day == 1 || day == 3 || day == 5 || day == 7 || day == 8 || day == 10 || day == 12) return 31;
	if (day == 4 || day == 6 || day == 9 || day == 11) return 30;
	if (day == 2)
	{
		if (year(day) > 0) return 29;
		else return 28;
	}
}
int main()
{
	int y,m,d;
	scanf("%d/%d/%d",&y,&m,&d);
	for (int i = y;; i++)
	{
		for (int j = m; j <= 12; j++)
		{
			int k;
			for (k = d; k <= date(j); k++)
			{
				double yours = (double)i / (double)j / (double)k;
				if (floor(yours) == yours)
				{
					printf("%d/%d/%d",i,j,k);
					return 0;
				}
			}
			k = 1;
		}
		m = 1;
	}
}
2023/5/16 15:54
加载中...