给定一个数字 n,问是否存在 x 满足 x 2 = There are multiple test cases. The first line of the input contains an integer T (1 ≤ T ≤ 1e6) indicating the number of test cases. If the sum is a square number, please output ‘Fake news!’ in one line. Otherwise, please output ‘Nobody knows it better than me!’ instead. 5 Fake news! 我们可以先在本地打表测试一下哪些数字满足条件,打完表后发现只有两个数满足条件,故我们直接特判这两个数就好了
题目大意
∑k=1n K2输入描述
For each test case, the first line contains one integers n (1 ≤ n≤ 1e15 ).输出描述
输入
1
2
3
4
5输出
Nobody knows it better than me!
Nobody knows it better than me!
Nobody knows it better than me!
Nobody knows it better than me!
解题思路
cin 和 cout 加速之后还是会被 T 掉的,直接上 scanf 和 printf 就可以 ac
至于为什么是 1 和 24 ,其实是可以证明出来的 知乎的证明帖子 – 传送门
AC代码
#include<iostream> #include<algorithm> #include<string.h> #include<string> #include<cmath> #include<cstdio> #include<cstdlib> using namespace std; typedef long long ll; //const int maxn = 1e8; //double sum[maxn]; //void table() //{ // sum[0] = 0; // for(int i = 1 ; i <= maxn ; i++) // { // sum[i] += i*i + sum[i-1]; // int tmp = sqrt(sum[i]); // if(tmp * tmp == sum[i]) // { // cout<<"sum["<<i<<"] = "<<sum[i]<<endl; // } // } //} int main() { //ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); //table(); int t; scanf("%d",&t); while(t--) { char n[20]; scanf("%s",n); if(strlen(n) == 1 && n[0] == '1') { printf("Fake news!n"); }else if(strlen(n) == 2 && n[0] == '2' && n[1] == '4') { printf("Fake news!n"); }else { printf("Nobody knows it better than me!n"); } } return 0; }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算