What day is that day? 模拟
It’s Saturday today, what day is it after 11 + 22 + 33 + … + NN days?
Input
There are multiple test cases. The first line of input contains an integer T indicating the number of test cases. For each test case:
There is only one line containing one integer N (1 <= N <= 1000000000).
Output
For each test case, output one string indicating the day of week.
Sample Input
2
1
2
Sample Output
Sunday
Thursday
Hint
A week consists of Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday.
题目意思是说,输入一个n,让你求从今天往后过了1^1 + 2 ^2+…+n ^n天后是周几,不难看出这个题暴力的话数据量一定会超,所以往找规律的方向考虑,先写一个找循环节的程序,把每个n对应是周几存进一个数组,之后再循环去找循环节,因为第一个肯定是循环节的头部,所以可以采用做差比较间隔的办法,可以找出循环节是42,这个42是每42个相同日子是一个循环,换成天数就是294天一个循环,在另一个程序运行之前打表,然后直接输出即可。
找循环节代码
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
using namespace std;
string day[10]={"Saturday","Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
int num[10105],a[10105],k=0;
int main()
{long long int sum=0;for(int i=1;i<=10005;i++){int temp=1;for(int j=1;j<=i;j++){temp*=i;temp%=7;}sum+=temp;sum%=7;num[i]=sum;if(sum==1)a[k++]=i;}int flag;for(int i=1;i<k;i++){flag=1;for(int j=0;i+j<k;j+=i){if(a[0]!=a[j]%7){flag=0;break;}}if(flag==1){cout<<i<<endl;break;}}return 0;
}
AC代码
#include<iostream>
#include<stdio.h>
using namespace std;
char day[10][20]={"Saturday","Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
int num[300];
int main()
{int t,sum=0;scanf("%d",&t);for(int i=1;i<=294;i++){int temp=1;for(int j=1;j<=i;j++){temp*=i;temp%=7;}sum+=temp;sum%=7;num[i]=sum;}while(t--){int n;scanf("%d",&n);n%=294;if(n==0)printf("%s\n",day[num[294]]);elseprintf("%s\n",day[num[n]]);}return 0;
}
What day is that day? 模拟相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- curl模拟post请求
另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...
- flask_模拟请求post,get
#coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...
- 模拟内存计算如何解决边缘人工智能推理的功耗挑战
模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...
- 为放大器模拟输入模块提供可靠的输入过电压保护
为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...
- 模拟Servlet本质
JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...
- 2021年大数据Flink(四十):Flink模拟双十一实时大屏统计
目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...
- Python:模拟登录、点击和执行 JavaScript 语句案例
案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...
- 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例
背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...
- 模拟文件上传(一):手动文件上传
关于上传文件,首先我的第一个案例是一个文本文件的上传,简单容易上手! 首先我们上传文件肯定就属于实体内容部分了:所以不能过GET方式请求了,要通过POST方式请求: 因为: 1.get方式是URL传值 ...
最新文章
- Centos6.5-----nagios快速安装编译配置文档-全部虚拟环境
- Java执行字符串中的运算公式
- Hibernate配置属性详解
- UIButton标题和图片位置的确定法则
- jvm_垃圾收集算法讲解(一)
- 什么是ASP.NET Core静态Web资产?
- Ace教你一步一步做Android新闻客户端(三) JSON数据解析
- eclipse中设置java注释模板
- 带孩子们做环球旅行的读后感_孩子少言寡语、不爱说话怎么办?家长们可以这样做...
- 跳槽到新公司,我直接让项目的性能提升了一半。。。
- android studio 自定义生成BuildConfig文件,形成打包配置
- java 没有例外网站_java – Spring安全配置@Order不是唯一的例外
- 收藏几个漂亮的管理后台模板
- Good Bye 2018 ABCD题解
- 404报错:The origin server did not find a current representation for the target resource解决的两种办法
- Oracle update 更新数据语法和写法
- Java互联网架构-企业级实战秒杀系统优化方案与应用思路
- TCP ACKed unseen segment TCP Previous not captured
- 51单片机usb烧录电路_STC51单片机自动ISP下载电路设计 - ch340g单片机下载程序电路原理...
- wallhaven壁纸下载-selenium版本