梅花易数

解法:

暴力

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
#define endl '\n'
int year(int a) {
	int a1 = (a - 3) % 12;
	if (a1 == 0)return 12;
	else return a1;
}
int tim(int d, int e) {
	if (d >= 1 && d < 3) return 2;
	else if (d >= 3 && d < 5)return 3;
	else if (d >= 5 && d < 7)return 4;
	else if (d >= 7 && d < 9)return 5;
	else if (d >= 9 && d < 11)return 6;
	else if (d >= 11 && d < 13)return 7;
	else if (d >= 13 && d < 15)return 8;
	else if (d >= 15 && d < 17)return 9;
	else if (d >= 17 && d < 19)return 10;
	else if (d >= 19 && d < 21)return 11;
	else if (d >= 21 && d < 23)return 12;
	else return 1;
}
int zhuanhua(int b) {
	if (b == 0 || b == 7)return 5;//tu
	if (b == 1 || b == 2) return 1;//jin
	if (b == 4 || b == 5) return 2;//mu
	if (b == 6) return 3;//shui
	if (b == 3) return 4;//huo
}
void bagua(int year, int month, int day, int time) {
	int s = zhuanhua((year + month + day) % 8);
	int x = zhuanhua((year + month + day + time) % 8);
	int f = 0;
	if (s == 4 && x == 5 || s == 5 && x == 4) f = 1;
	if (s == 1 && x == 5 || s == 5 && x == 1) f = 1;
	if (s == 1 && x == 3 || s == 3 && x == 1) f = 1;
	if (s == 2 && x == 3 || s == 3 && x == 2) f = 1;
	if (s == 2 && x == 4 || s == 4 && x == 2) f = 1;

	if (s == 1 && x == 4 || s == 4 && x == 1) f = 2;
	if (s == 1 && x == 2 || s == 2 && x == 1) f = 2;
	if (s == 2 && x == 5 || s == 5 && x == 2) f = 2;
	if (s == 3 && x == 5 || s == 5 && x == 3) f = 2;
	if (s == 3 && x == 4 || s == 4 && x == 3) f = 2;

	if (f == 1) cout << "haoye";
	else if (f == 2) cout << "gg";
	else cout << "emm";
}
int main() {
	int a, b, c, d, e;
	cin >> a >> b >> c >> d >> e;
	int a1 = year(a);
	int d1 = tim(d, e);
	bagua(a1, b, c, d1);
	return 0;
}

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值