小朋友学算法(15):计算年份的天干地支

十天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸; 十二地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。

天干地支纪年法首先是天干在前,地支在后,比如今年2018就是戊戌年。

天干算法: 4、5、6、7、8、9、0、1、2、3对应的十天干就是 甲、乙、丙、丁、戊、己、庚、辛、壬、癸, 这里的数字是年份的最后的一位数字,比如2018年,最后一位是8,对应的天干就是戊。

地支算法: 用年代数除以12,后面的余数就代表某个地支, 余数分别为:4、 5、 6、 7、 8、 9、 10、 11、 0(能整除)、1、 2、3, 代表地支为:子、丑、寅、卯、辰、巳、午、 未、 申、酉、戌、亥 以2018年为例,2018 % 12 = 2,对应的地支就是戌。所以2018年是戊戌年。

实现代码:

#include<iostream>
using namespace std;

int main()
{
    long long year;
    cin >> year;    // 输入年份

    // A-甲,B-乙,C-丙,D-丁,E-戊,F-己,G-庚,H-辛,I-壬,J-癸 
    char a[10] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};

    // 1-子,2-丑,3-寅,4-卯,5-辰,6-巳,7-午,8-未,9-申,10-酉,11-戌,12-亥
    int b[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

    int single = year % 10;     // 天干是求个位数
    int index = (single - 4 + 10) % 10;
    cout << a[index];

    int mod = year % 12;    // 地支是求除以12的余数
    index = (mod - 4 + 12) % 12;
    cout << b[index] << endl;

    return 0;
}

运行结果: 第一组:

2018
E11

第二组:

2384036917920
G9

原文发布于微信公众号 - KidsCode少儿编程(gh_de7b45c40e8b)

原文发表时间:2018-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏UAI人工智能

深度学习入门教程 第一讲

1613
来自专栏钱塘大数据

风靡全球的15则数学动图,让你秒懂数学概念

首先,把圆解剖为一个三角形。底边是周长。然后根据三角形的面积推出圆的面积,so easy~

1053
来自专栏机器学习算法原理与实践

贝叶斯个性化排序(BPR)算法小结

    在矩阵分解在协同过滤推荐算法中的应用中,我们讨论过像funkSVD之类的矩阵分解方法如何用于推荐。今天我们讲另一种在实际产品中用的比较多的推荐算法:贝叶...

3003
来自专栏FreeBuf

高效幂模算法探究:Montgomery算法解析

模运算,又称模算数(modular arithmetic),是一个整数的算术系统,其中数字超过一定值后(称为模)会“卷回”到较小的数值,模运算最早是卡尔·弗里德...

6063
来自专栏专知

关关的刷题日记84 – Leetcode 231. Power of Two

关关的刷题日记84 – Leetcode 231. Power of Two 题目 Given an integer, write a function to ...

3197
来自专栏数据结构与算法

NOIP复习内容

https://www.luogu.org/problemnew/lists?name=GSS&orderitem=pid&tag=&content=0&typ...

1662
来自专栏小樱的经验随笔

令人称奇的简单证明:五种方法证明根号2是无理数

令人称奇的简单证明:五种方法证明根号2是无理数     我喜欢各种各样的证明。人们很难想到这样一些完全找不到突破口的东西竟然能够证明得到。说“没有突破口”还不够...

2868
来自专栏数据小魔方

用ggplot轻松搞定太极图

ggplot的图层语法给了使用者无限种可能,再配合上自己对于数据操纵的灵活把控,真的不知道ggplot可以给我们呈现出什么的惊艳作品。 这不,清明假期无聊的我,...

2832
来自专栏计算机视觉与深度学习基础

Leetcode 149 Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the...

25610
来自专栏北京马哥教育

高阶实战 | 如何用Python检测伪造的视频

译者注:本文以一段自打24小时耳光的视频为例子,介绍了如何利用均值哈希算法来检查重复视频帧。以下是译文。 有人在网上上传了一段视频,他打了自己24个小时的耳光。...

3305

扫码关注云+社区

领取腾讯云代金券