题目描述
不管是基于太阳的阳历,还是基于月亮的阴历,或者阴阳合历的农历,都太复杂了。
XXX自己发明了一套历法,取名为“星星历”。星星历采用每年 3 星,每星 120 天的方式纪年。
XXX定义现实的 2024 年 1 月 18 日为“星星历”的第一天,即 1 年 1 星 1 日,表示为 1 1 1,请问“星星历”的第 n 天是哪年哪星哪日?
输入
第一行一个整数 n。
输出
一行空格隔开的三个整数,为“星星历”的第 n 天的表示。
如输入100 则输出1 1 100
如输入200 则输出1 2 80
如输入300 则输出1 3 60
样例输入
400
样例输出
2 1 40
提示
数据规模与约定
对于 100%100% 的数据,1≤n≤。
- 子任务 1(30 分):1≤n≤120。
- 子任务 2(30 分):1≤n≤360。
- 子任务 3(40 分):没有特殊限制。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin>>n;
long long a=0,y=1,m=1,d=0;
for(int i=1;i<=n;i++){
a++;
if(a<=120){
d=a;
}
if(a==121){
a=1;
d=a;
m++;
if(m==4){
y++;
m=1;
}
}
}
cout<<y<<" "<<m<<" "<<d;
return 0;
}