zoukankan      html  css  js  c++  java
  • POJ NOI MATH-7831 计算星期几

    问题链接POJ NOI MATH-7831 计算星期几


    总时间限制:
    1000ms
    内存限制:
    65536kB
    描述

    假设今天是星期日,那么过ab天之后是星期几?

    输入
    两个正整数a,b,中间用单个空格隔开。0 < a <= 100, 0 < b <= 10000。
    输出
    一个字符串,代表过ab​天之后是星期几。
    其中,Monday是星期一,Tuesday是星期二,Wednesday是星期三,Thursday是星期四,Friday是星期五,Saturday是星期六,Sunday是星期日。
    样例输入
    3 2000
    样例输出
    Tuesday
    来源
    《奥数典型题举一反三(小学六年级)》 (ISBN 978-7-5445-2883-2) 模拟试题二 第16题



    问题分析

      计算ab天是困难的,因为数会很大。好在每周是7天,所以可以使用快速模幂运算来解决。

    程序说明

      (略)。




    AC的C++语言程序:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    const int DAYS = 7;
    
    string days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
    
    // 快速模幂函数
    int powermod(int a, int n, int m)
    {
        int res = 1L;
        while(n) {
            if(n & 1L) {
                res *= a;
                res %= m;
            }
            a *= a;
            a %= m;
            n >>= 1;
        }
        return res;
    }
    
    int main()
    {
        int a, b, start = 0;
    
        cin >> a >> b;
    
        cout << days[(start + powermod(a, b, DAYS)) % DAYS] << endl;
    
        return 0;
    }



  • 相关阅读:
    19.Mybatis之动态SQL
    18.Mybatis的配置文件标签属性自动提示
    17.Mybatis的基本使用及入门案例
    16.jQuery属性操作
    15.jQuery淡入淡出效果
    14.jQuery常用方法
    13.jQuery选择器
    12.JavaScript基础知识
    11.浅析Java中的final关键字
    10.基于Tomcat的SmartUplaod文件上传
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563971.html
Copyright © 2011-2022 走看看