技术标签: 笔记
#include<stdio.h>
#include<math.h>
int main()
{
int runnian(int y);
int tianshu(int y, int m, int d);
int wnl(int y, int m, int d);
int year, month, date, hour, minute,shichen;
float x, r=0;
long long int Days,F1,F;
int Bazi[2][4];
scanf("%d/%d/%d/%d/%d", &year, &month, &date, &hour, &minute);
if (hour >= 23)
date += 1;
Days = wnl(year, month, date);
Bazi[0][2] = (Days + 5) % 10; //日元
Bazi[1][2] = (Days + 3) % 12; //日支
if (hour % 2 == 0)
shichen = hour / 2 + 1;
else shichen = hour / 2 + 2;
Bazi[1][3] = shichen % 12; //时支
Bazi[0][3] = (Bazi[0][2] * 2 + Bazi[1][3] - 2) % 10; //时干
F1 = tianshu(year, month, date);
x = (month - 1) * 2;
for (int i = 1900;i < year;i++)
if (runnian(i) == 1)
r += 1;
F = (int)(0.242 * (year * 1.0 - 1900) + 6.2 + 15.22 * x - 1.9 * sin(0.262 * x) - r);
if (F1 >= F)
month -= 1;
else month -= 2;
if (month <= 0)
{
year -= 1;
month += 12;
}
Bazi[0][0] = (year + 7) % 10; //年干
Bazi[1][0] = (year + 9) % 12; //年支
Bazi[1][1] = (month + 2) % 12; //月令
Bazi[0][1] = (Bazi[0][0] * 2 + month) % 10; //月干
for (int i = 0;i < 2;i++)
{
for (int j = 0;j < 4;j++)
if (i == 0)
switch (Bazi[i][j])
{
case 1:printf("甲\t");break;
case 2:printf("乙\t");break;
case 3:printf("丙\t");break;
case 4:printf("丁\t");break;
case 5:printf("戊\t");break;
case 6:printf("己\t");break;
case 7:printf("庚\t");break;
case 8:printf("辛\t");break;
case 9:printf("壬\t");break;
default:printf("癸\t");break;
}
else
switch (Bazi[i][j])
{
case 1:printf("子\t");break;
case 2:printf("丑\t");break;
case 3:printf("寅\t");break;
case 4:printf("卯\t");break;
case 5:printf("辰\t");break;
case 6:printf("巳\t");break;
case 7:printf("午\t");break;
case 8:printf("未\t");break;
case 9:printf("申\t");break;
case 10:printf("酉\t");break;
case 11:printf("戌\t");break;
default:printf("亥\t");break;
}
printf("\n");
}
return 0;
}
int runnian(int y)
{
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
return 1;
else return 0;
}
int wnl(int y, int m, int d)
{
int tianshu(int y, int m, int d);
int z,r=0;
for (int i = 1900;i < y;i++)
if (runnian(i) == 1)
r += 1;
z = (y - 1901) * 365 + r + tianshu(y, m, d);
return(z);
}
int tianshu(int y, int m, int d)
{
int days=0;
for (int i = 0;i < m;i++)
{
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
days += 31;
else if (i == 2)
days += 28;
else if (i==4||i==6||i==9||i==11)
days += 30;
}
days += d;
if (runnian(y) == 1 && m > 2)
days += 1;
return(days);
}
小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL)。所以,架构师在广大码农中的占比大概平均不到 10%。而架构师也可以分为初级、中级、高级三档,江湖上真正...
一、概述 我们在平时的开发中,排序算法可以说是最常用的算法之一,不同的排序算法,有着不一样的性能消耗,虽说前端开发对算法的要求没有那么高,但是对于一些常见的算法,我们还是要掌握的,它属于一个开发者的基本功,今天,我们就来总结一下常见的排序算法,请看下面这张表:下面排序都以由小到大排序为目的 二、冒泡排序1、基本思想:两个数比较大小,较大的往下沉,较小的冒上来...
字符串的展开来源: NOIP 2007 提高第二题 题目描述: 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。
消息摘要的概念对消息通过一个单向Hash算法进行计算,得到一个唯一的结果。每个消息对应一个唯一结果,所有结果的长度固定。消息摘要的分类(1)MD5(Message Digest)消息摘要算法(2)SHA(Secure Hash Algorithm)安全散列算法(3)MAC(Message Authentication Code)消息认证码算法,结合了MD5和SHA的优势,同时用密钥对摘要进行加密,...
docker 变量 Docker多主机联网允许您创建虚拟网络并将容器连接到它们,从而可以创建适合您的应用程序的网络拓扑。 可以为单个主机创建桥接网络,可以为多个主机创建覆盖网络。 创建特定于应用程序的网络可为容器提供完全隔离。 Docker Compose文件可以针对单个主机,并且--x-networking将创建该应用程序专有的桥接网络。 如果示例应用程序针对多个主机(例如使用Docke...
声明以下代码并非本人所写,也不是转载。只是参与项目中,总结出来的而已。public class DBHelper { private final static Log log = LogFactory.getLog(DBHelper.class.getClass()); //获得properties文件的各个参数 private static String driver =
网络下载图片IEnumerator DownloadTexture(string url){ WWW www = new WWW (url); yield return www; if (www.isDone) { texture = www.texture; }}保存图片到本地void SaveTexture(){ string ...
摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛。HDU 5984 Pocky 题意 给出一根棒子(可以吃的)的长度x和切割过程中不能小于的长度d,每次随机的选取一个位置切开,吃掉左边的一半,对右边的棒子同样操作,直至剩余...
音视频 SDP 添加码率
自从Kaggle被谷歌收购后,Kaggle上的数据下载和kernel使用到了很多的谷歌应用。与参赛选手强相关的是比赛数据集下载和文件的上传。如何顺利的上传和下载数据呢,本文将给出三种解决方案。修改DNS由于国内运营商网络管控的原因,导致国内访问国外的速度都非常慢,所以在下载Kaggle数据集时可以尝试修改系统DNS。这里比较推荐以下几个DNS:谷歌:8.8.8.8,8.8.4.4韩国:1...
# -*- coding: utf-8 -*-import sysimport oss2import timeimport tracebackPREFIX = 'http://'class find_oss_file(): def __init__(self): pass # ossinfo { # ossinfo ={ACCESS_KEY_ID,ACCESS
java中类的对象比较大小进行排序,不像C++那样可以重载运算符比较大小,java中需要实现特定的接口或者自己给类加上逻辑大小比较函数,个人认为有以下三种方式吧:一、类实现java.util.Comparator&lt;T&gt;接口Comparator中有个接口,如下: int compare(T o1, T o2);比较用来排序的两个参数。根据第一个参数小于、等于或大于第二个参数分别返回负整数...