1. import java.text.DateFormat;
  2. import java.text.ParsePosition;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import java.util.GregorianCalendar;
  7. public class CalendarUtil {
  8. private int weeks = 0;// 用来全局控制 上一周,本周,下一周的周数变化
  9. private int MaxDate; // 一月最大天数
  10. private int MaxYear; // 一年最大天数
  11. public static void main(String[] args) {
  12. CalendarUtil tt = new CalendarUtil();
  13. System.out.println("获取当天日期:" + tt.getNowTime("yyyy-MM-dd"));
  14. System.out.println("获取本周一日期:" + tt.getMondayOFWeek());
  15. System.out.println("获取本周日的日期~:" + tt.getCurrentWeekday());
  16. System.out.println("获取上周一日期:" + tt.getPreviousWeekday());
  17. System.out.println("获取上周日日期:" + tt.getPreviousWeekSunday());
  18. System.out.println("获取下周一日期:" + tt.getNextMonday());
  19. System.out.println("获取下周日日期:" + tt.getNextSunday());
  20. System.out.println("获得相应周的周六的日期:" + tt.getNowTime("yyyy-MM-dd"));
  21. System.out.println("获取本月第一天日期:" + tt.getFirstDayOfMonth());
  22. System.out.println("获取本月最后一天日期:" + tt.getDefaultDay());
  23. System.out.println("获取上月第一天日期:" + tt.getPreviousMonthFirst());
  24. System.out.println("获取上月最后一天的日期:" + tt.getPreviousMonthEnd());
  25. System.out.println("获取下月第一天日期:" + tt.getNextMonthFirst());
  26. System.out.println("获取下月最后一天日期:" + tt.getNextMonthEnd());
  27. System.out.println("获取本年的第一天日期:" + tt.getCurrentYearFirst());
  28. System.out.println("获取本年最后一天日期:" + tt.getCurrentYearEnd());
  29. System.out.println("获取去年的第一天日期:" + tt.getPreviousYearFirst());
  30. System.out.println("获取去年的最后一天日期:" + tt.getPreviousYearEnd());
  31. System.out.println("获取明年第一天日期:" + tt.getNextYearFirst());
  32. System.out.println("获取明年最后一天日期:" + tt.getNextYearEnd());
  33. System.out.println("获取本季度第一天:" + tt.getThisSeasonFirstTime(11));
  34. System.out.println("获取本季度最后一天:" + tt.getThisSeasonFinallyTime(11));
  35. System.out.println("获取两个日期之间间隔天数2008-12-1~2008-9.29:"
  36. + CalendarUtil.getTwoDay("2008-12-1", "2008-9-29"));
  37. System.out.println("获取当前月的第几周:" + tt.getWeekOfMonth());
  38. System.out.println("获取当前年份:" + tt.getYear());
  39. System.out.println("获取当前月份:" + tt.getMonth());
  40. System.out.println("获取今天在本年的第几天:" + tt.getDayOfYear());
  41. System.out.println("获得今天在本月的第几天(获得当前日):" + tt.getDayOfMonth());
  42. System.out.println("获得今天在本周的第几天:" + tt.getDayOfWeek());
  43. System.out.println("获得半年后的日期:"
  44. + tt.convertDateToString(tt.getTimeYearNext()));
  45. }
  46. public static int getYear() {
  47. return Calendar.getInstance().get(Calendar.YEAR);
  48. }
  49. public static int getMonth() {
  50. return Calendar.getInstance().get(Calendar.MONTH) + 1;
  51. }
  52. public static int getDayOfYear() {
  53. return Calendar.getInstance().get(Calendar.DAY_OF_YEAR);
  54. }
  55. public static int getDayOfMonth() {
  56. return Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
  57. }
  58. public static int getDayOfWeek() {
  59. return Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
  60. }
  61. public static int getWeekOfMonth() {
  62. return Calendar.getInstance().get(Calendar.DAY_OF_WEEK_IN_MONTH);
  63. }
  64. public static Date getTimeYearNext() {
  65. Calendar.getInstance().add(Calendar.DAY_OF_YEAR, 183);
  66. return Calendar.getInstance().getTime();
  67. }
  68. public static String convertDateToString(Date dateTime) {
  69. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  70. return df.format(dateTime);
  71. }
  72. public static String getTwoDay(String sj1, String sj2) {
  73. SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
  74. long day = 0;
  75. try {
  76. java.util.Date date = myFormatter.parse(sj1);
  77. java.util.Date mydate = myFormatter.parse(sj2);
  78. day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
  79. } catch (Exception e) {
  80. return "";
  81. }
  82. return day + "";
  83. }
  84. public static String getWeek(String sdate) {
  85. // 再转换为时间
  86. Date date = CalendarUtil.strToDate(sdate);
  87. Calendar c = Calendar.getInstance();
  88. c.setTime(date);
  89. // int hour=c.get(Calendar.DAY_OF_WEEK);
  90. // hour中存的就是星期几了,其范围 1~7
  91. // 1=星期日 7=星期六,其他类推
  92. return new SimpleDateFormat("EEEE").format(c.getTime());
  93. }
  94. public static Date strToDate(String strDate) {
  95. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  96. ParsePosition pos = new ParsePosition(0);
  97. Date strtodate = formatter.parse(strDate, pos);
  98. return strtodate;
  99. }
  100. public static long getDays(String date1, String date2) {
  101. if (date1 == null || date1.equals(""))
  102. return 0;
  103. if (date2 == null || date2.equals(""))
  104. return 0;
  105. // 转换为标准时间
  106. SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
  107. java.util.Date date = null;
  108. java.util.Date mydate = null;
  109. try {
  110. date = myFormatter.parse(date1);
  111. mydate = myFormatter.parse(date2);
  112. } catch (Exception e) {
  113. }
  114. long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
  115. return day;
  116. }
  117. public String getDefaultDay() {
  118. String str = "";
  119. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  120. Calendar lastDate = Calendar.getInstance();
  121. lastDate.set(Calendar.DATE, 1);// 设为当前月的1号
  122. lastDate.add(Calendar.MONTH, 1);// 加一个月,变为下月的1号
  123. lastDate.add(Calendar.DATE, -1);// 减去一天,变为当月最后一天
  124. str = sdf.format(lastDate.getTime());
  125. return str;
  126. }
  127. public String getPreviousMonthFirst() {
  128. String str = "";
  129. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  130. Calendar lastDate = Calendar.getInstance();
  131. lastDate.set(Calendar.DATE, 1);// 设为当前月的1号
  132. lastDate.add(Calendar.MONTH, -1);// 减一个月,变为下月的1号
  133. // lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天
  134. str = sdf.format(lastDate.getTime());
  135. return str;
  136. }
  137. public String getFirstDayOfMonth() {
  138. String str = "";
  139. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  140. Calendar lastDate = Calendar.getInstance();
  141. lastDate.set(Calendar.DATE, 1);// 设为当前月的1号
  142. str = sdf.format(lastDate.getTime());
  143. return str;
  144. }
  145. public String getCurrentWeekday() {
  146. weeks = 0;
  147. int mondayPlus = this.getMondayPlus();
  148. GregorianCalendar currentDate = new GregorianCalendar();
  149. currentDate.add(GregorianCalendar.DATE, mondayPlus + 6);
  150. Date monday = currentDate.getTime();
  151. DateFormat df = DateFormat.getDateInstance();
  152. String preMonday = df.format(monday);
  153. return preMonday;
  154. }
  155. public String getNowTime(String dateformat) {
  156. Date now = new Date();
  157. SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);// 可以方便地修改日期格式
  158. String hehe = dateFormat.format(now);
  159. return hehe;
  160. }
  161. private int getMondayPlus() {
  162. Calendar cd = Calendar.getInstance();
  163. // 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
  164. int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1; // 因为按中国礼拜一作为第一天所以这里减1
  165. if (dayOfWeek == 1) {
  166. return 0;
  167. } else {
  168. return 1 - dayOfWeek;
  169. }
  170. }
  171. public String getMondayOFWeek() {
  172. weeks = 0;
  173. int mondayPlus = this.getMondayPlus();
  174. GregorianCalendar currentDate = new GregorianCalendar();
  175. currentDate.add(GregorianCalendar.DATE, mondayPlus);
  176. Date monday = currentDate.getTime();
  177. DateFormat df = DateFormat.getDateInstance();
  178. String preMonday = df.format(monday);
  179. return preMonday;
  180. }
  181. public String getSaturday() {
  182. int mondayPlus = this.getMondayPlus();
  183. GregorianCalendar currentDate = new GregorianCalendar();
  184. currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);
  185. Date monday = currentDate.getTime();
  186. DateFormat df = DateFormat.getDateInstance();
  187. String preMonday = df.format(monday);
  188. return preMonday;
  189. }
  190. public String getPreviousWeekSunday() {
  191. weeks = 0;
  192. weeks--;
  193. int mondayPlus = this.getMondayPlus();
  194. GregorianCalendar currentDate = new GregorianCalendar();
  195. currentDate.add(GregorianCalendar.DATE, mondayPlus + weeks);
  196. Date monday = currentDate.getTime();
  197. DateFormat df = DateFormat.getDateInstance();
  198. String preMonday = df.format(monday);
  199. return preMonday;
  200. }
  201. public String getPreviousWeekday() {
  202. weeks--;
  203. int mondayPlus = this.getMondayPlus();
  204. GregorianCalendar currentDate = new GregorianCalendar();
  205. currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);
  206. Date monday = currentDate.getTime();
  207. DateFormat df = DateFormat.getDateInstance();
  208. String preMonday = df.format(monday);
  209. return preMonday;
  210. }
  211. public String getNextMonday() {
  212. weeks++;
  213. int mondayPlus = this.getMondayPlus();
  214. GregorianCalendar currentDate = new GregorianCalendar();
  215. currentDate.add(GregorianCalendar.DATE, mondayPlus + 7);
  216. Date monday = currentDate.getTime();
  217. DateFormat df = DateFormat.getDateInstance();
  218. String preMonday = df.format(monday);
  219. return preMonday;
  220. }
  221. public String getNextSunday() {
  222. int mondayPlus = this.getMondayPlus();
  223. GregorianCalendar currentDate = new GregorianCalendar();
  224. currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 + 6);
  225. Date monday = currentDate.getTime();
  226. DateFormat df = DateFormat.getDateInstance();
  227. String preMonday = df.format(monday);
  228. return preMonday;
  229. }
  230. private int getMonthPlus() {
  231. Calendar cd = Calendar.getInstance();
  232. int monthOfNumber = cd.get(Calendar.DAY_OF_MONTH);
  233. cd.set(Calendar.DATE, 1);// 把日期设置为当月第一天
  234. cd.roll(Calendar.DATE, -1);// 日期回滚一天,也就是最后一天
  235. MaxDate = cd.get(Calendar.DATE);
  236. if (monthOfNumber == 1) {
  237. return -MaxDate;
  238. } else {
  239. return 1 - monthOfNumber;
  240. }
  241. }
  242. public String getPreviousMonthEnd() {
  243. String str = "";
  244. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  245. Calendar lastDate = Calendar.getInstance();
  246. lastDate.add(Calendar.MONTH, -1);// 减一个月
  247. lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天
  248. lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天
  249. str = sdf.format(lastDate.getTime());
  250. return str;
  251. }
  252. public String getNextMonthFirst() {
  253. String str = "";
  254. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  255. Calendar lastDate = Calendar.getInstance();
  256. lastDate.add(Calendar.MONTH, 1);// 减一个月
  257. lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天
  258. str = sdf.format(lastDate.getTime());
  259. return str;
  260. }
  261. public String getNextMonthEnd() {
  262. String str = "";
  263. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  264. Calendar lastDate = Calendar.getInstance();
  265. lastDate.add(Calendar.MONTH, 1);// 加一个月
  266. lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天
  267. lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天
  268. str = sdf.format(lastDate.getTime());
  269. return str;
  270. }
  271. public String getNextYearEnd() {
  272. String str = "";
  273. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  274. Calendar lastDate = Calendar.getInstance();
  275. lastDate.add(Calendar.YEAR, 1);// 加一个年
  276. lastDate.set(Calendar.DAY_OF_YEAR, 1);
  277. lastDate.roll(Calendar.DAY_OF_YEAR, -1);
  278. str = sdf.format(lastDate.getTime());
  279. return str;
  280. }
  281. public String getNextYearFirst() {
  282. String str = "";
  283. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  284. Calendar lastDate = Calendar.getInstance();
  285. lastDate.add(Calendar.YEAR, 1);// 加一个年
  286. lastDate.set(Calendar.DAY_OF_YEAR, 1);
  287. str = sdf.format(lastDate.getTime());
  288. return str;
  289. }
  290. private int getMaxYear() {
  291. Calendar cd = Calendar.getInstance();
  292. cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天
  293. cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。
  294. int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
  295. return MaxYear;
  296. }
  297. private int getYearPlus() {
  298. Calendar cd = Calendar.getInstance();
  299. int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);// 获得当天是一年中的第几天
  300. cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天
  301. cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。
  302. int MaxYear = cd.get(Calendar.DAY_OF_YEAR);
  303. if (yearOfNumber == 1) {
  304. return -MaxYear;
  305. } else {
  306. return 1 - yearOfNumber;
  307. }
  308. }
  309. public String getCurrentYearFirst() {
  310. int yearPlus = this.getYearPlus();
  311. GregorianCalendar currentDate = new GregorianCalendar();
  312. currentDate.add(GregorianCalendar.DATE, yearPlus);
  313. Date yearDay = currentDate.getTime();
  314. DateFormat df = DateFormat.getDateInstance();
  315. String preYearDay = df.format(yearDay);
  316. return preYearDay;
  317. }
  318. // 获得本年最后一天的日期 *
  319. public String getCurrentYearEnd() {
  320. Date date = new Date();
  321. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式
  322. String years = dateFormat.format(date);
  323. return years + "-12-31";
  324. }
  325. // 获得上年第一天的日期 *
  326. public String getPreviousYearFirst() {
  327. Date date = new Date();
  328. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式
  329. String years = dateFormat.format(date);
  330. int years_value = Integer.parseInt(years);
  331. years_value--;
  332. return years_value + "-1-1";
  333. }
  334. // 获得上年最后一天的日期
  335. public String getPreviousYearEnd() {
  336. weeks--;
  337. int yearPlus = this.getYearPlus();
  338. GregorianCalendar currentDate = new GregorianCalendar();
  339. currentDate.add(GregorianCalendar.DATE, yearPlus + MaxYear * weeks
  340. + (MaxYear - 1));
  341. Date yearDay = currentDate.getTime();
  342. DateFormat df = DateFormat.getDateInstance();
  343. String preYearDay = df.format(yearDay);
  344. return preYearDay;
  345. }
  346. public String getThisSeasonFirstTime(int month) {
  347. int array[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
  348. int season = 1;
  349. if (month >= 1 && month <= 3) {
  350. season = 1;
  351. }
  352. if (month >= 4 && month <= 6) {
  353. season = 2;
  354. }
  355. if (month >= 7 && month <= 9) {
  356. season = 3;
  357. }
  358. if (month >= 10 && month <= 12) {
  359. season = 4;
  360. }
  361. int start_month = array[season - 1][0];
  362. int end_month = array[season - 1][2];
  363. Date date = new Date();
  364. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式
  365. String years = dateFormat.format(date);
  366. int years_value = Integer.parseInt(years);
  367. int start_days = 1;// years+"-"+String.valueOf(start_month)+"-1";//getLastDayOfMonth(years_value,start_month);
  368. int end_days = getLastDayOfMonth(years_value, end_month);
  369. String seasonDate = years_value + "-" + start_month + "-" + start_days;
  370. return seasonDate;
  371. }
  372. public String getThisSeasonFinallyTime(int month) {
  373. int array[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
  374. int season = 1;
  375. if (month >= 1 && month <= 3) {
  376. season = 1;
  377. }
  378. if (month >= 4 && month <= 6) {
  379. season = 2;
  380. }
  381. if (month >= 7 && month <= 9) {
  382. season = 3;
  383. }
  384. if (month >= 10 && month <= 12) {
  385. season = 4;
  386. }
  387. int start_month = array[season - 1][0];
  388. int end_month = array[season - 1][2];
  389. Date date = new Date();
  390. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式
  391. String years = dateFormat.format(date);
  392. int years_value = Integer.parseInt(years);
  393. int start_days = 1;// years+"-"+String.valueOf(start_month)+"-1";//getLastDayOfMonth(years_value,start_month);
  394. int end_days = getLastDayOfMonth(years_value, end_month);
  395. String seasonDate = years_value + "-" + end_month + "-" + end_days;
  396. return seasonDate;
  397. }
  398. private int getLastDayOfMonth(int year, int month) {
  399. if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8
  400. || month == 10 || month == 12) {
  401. return 31;
  402. }
  403. if (month == 4 || month == 6 || month == 9 || month == 11) {
  404. return 30;
  405. }
  406. if (month == 2) {
  407. if (isLeapYear(year)) {
  408. return 29;
  409. } else {
  410. return 28;
  411. }
  412. }
  413. return 0;
  414. }
  415. public boolean isLeapYear(int year) {
  416. return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
  417. }
  418. public boolean isLeapYear2(int year) {
  419. return new GregorianCalendar().isLeapYear(year);
  420. }
  421. }

Android Calendar的运用的更多相关文章

  1. Android Calendar的学习与运用

    [java]mport java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; ...

  2. Android Calendar获取年月日时分秒毫秒

    开始使用new Date()测试,并用通过date.getMonth(),和date.getDay()获取,不过后来发现这两个访求是jdk1.1版本的,现在已经不用了,而且结果也不正确. ; int ...

  3. Android开发-API指南- Calendar Provider

    Calendar Provider 英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 采集 ...

  4. phonegap之android原生日历调用

    android日历调用首先第一步我们要添加权限 <uses-permission android:name="android.permission.READ_CALENDAR" ...

  5. Android 向系统日历中添加事件

    查了一天半,总算有点大概了.以下是自己的理解,有错误的地方望指正. android系统有日历功能,应用程序可以根据一些接口开发自己的功能,即使是日历app也是根据这些接口开发的,所以我们可以利用程序向 ...

  6. android ContentResolver详解

    查询出来的cursor的初始位置是指向第一条记录的前一个位置的cursor.moveToFirst()指向查询结果的第一个位置.一般通过判断cursor.moveToFirst()的值为true或fa ...

  7. 图解Android - Zygote, System Server 启动分析

    Init 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的).用ps 输出可以看到 >adb shell ...

  8. Android procrank , showmap 内存分析

    (一)DDMS 的Heap Dump 1) Data Object:java object. 2) Class Object:object of type Class, e.g. what you'd ...

  9. Android Calander Event

    必须权限 <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-pe ...

随机推荐

  1. JS——行内式注册事件

    html中行内调用function的时候,是通过window调用的function,所以打印this等于打印window,所以在使用行内注册事件时务必传入参数this <!DOCTYPE htm ...

  2. HDU_2203_KMP入门

    亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. VS2015编译ffmpeg的问题解决

    刚装了vs2015,打开一些ffmpeg项目,发现不能编译通过,包括stdio.h都无法找到,可能是vs2015的bug吧. 现在记录一下解决方法: 我的目录是这样定义的: C:\Program Fi ...

  4. Django - 内容总结(1)

    内容整理: 1.创建django工程名称 django-admin startproject 工程名 2.创建app cd 工程名 python manage.py startapp cmdb 3.静 ...

  5. P2639 [USACO09OCT]Bessie的体重问题 【背包问题】

    题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉.所以FJ将她置于一个及其严格的节食计划之中.她每天不能吃多过H (5 <= H & ...

  6. jquery源码分析(五)——Deferred 延迟对象

    javascript的异步编程 为什么要使用异步编程? JS是单线程语言,就简单性而言,把每一件事情(包括GUI事件和渲染)都放在一个线程里来处理是一个很好的程序模型,因为这样就无需再考虑线程同步这些 ...

  7. selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码

    目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...

  8. 集群管理软件clustershell

    一.简介 1.安装方便.一条指令就能轻松安装. 2.配置方便.很多集群管理软件都需要在所有的服务器上都安装软件,而且还要进行很多的连接操作,clustershell就相当的方便了,仅仅需要所有机器能够 ...

  9. noip模拟赛 括号序列

    题目描述LYK有一个括号序列,但这个序列不一定合法.一个合法的括号序列如下:()是合法的括号序列.若A是合法的括号序列,则(A)是合法的括号序列.若A和B分别是合法的括号序列,则AB是合法的括号序列. ...

  10. Fibonacci数列(codevs 1250)

    题目描述 Description 定义:f0=f1=1, fn=fn-1+fn-2(n>=2).{fi}称为Fibonacci数列. 输入n,求fn mod q.其中1<=q<=30 ...