1205: A.First Blood

时间限制: 1 Sec  内存限制: 64 MB
提交: 152  解决: 44

题目描述

盖伦是个小学一年级的学生,在一次数学课的时候,老师给他们出了一个难题:
老师给了一个正整数 n,需要在不大于n的范围内选择三个正整数(可以是相同的),使它们三个的最小公倍数尽可能的大。盖伦很想第一个解决这个问题,你能帮助盖伦拿到“first blood”吗?

输入

首先是一个正整数T,表示有T组测试数据
每组测试数据是一个正整数n(1<=n<=10^6)

输出

对于每组测试数据,输出最大的最小公倍数,每个输出单独占一行

样例输入

2
9
7

样例输出

504
210
 
讲真一开始真的没想到题目的思路,后来自己写了几个数字,感觉是应该是后面几个数字相乘能得到结果,然后百度了下有没有相关的算法,然后得到了结果:
  •   如果n为奇数,则结果是n*(n-1)*(n-2)
  •   如果n为偶数,此时n与n-2不互质,则大部分情况的结果是n*(n-1)*(n-3),但是还有例外(n=6,12,18,24...等数时,n与n-3不是互质的)此时结果为(n-1)*(n-2)*(n-3)
  • 还应注意n<3的情况(一开始就是没注意这个然后出了问题)

然后可能输入格式开始有错误,但最后也还好,改回标准的就没问题了

附上ac代码:

#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<stdlib.h>
#include<iterator>
#include<sstream>
#include<string.h>
#include<stdio.h>
using namespace std; int main()
{
int cnt;
cin>>cnt;
while(cnt--)
{
long long num,res; cin>>num;
if(num<=)
{
res=num;//开始没考虑到就两个数的情况
}
else if(num%)//奇数的情况
{
res=num*(num-)*(num-);//奇数的情况一定是 三个互质的
}
else//偶数的情况
{
if((num%)!=)//就不是3的倍数的偶数
{
res=num*(num-)*(num-);//因为1和3位置的数 有2 为共因子
}
else
{
res=(num-)*(num-)*(num-);//因为是三的倍数的话 num和num-3 一定有公约数三 所以是这样
}
}
cout<<res<<endl; } return ;
}

XCOJ 1205 A.First Blood的更多相关文章

  1. 2015安徽省赛 A.First Blood

    题目描述 盖伦是个小学一年级的学生,在一次数学课的时候,老师给他们出了一个难题: 老师给了一个正整数 n,需要在不大于n的范围内选择三个正整数(可以是相同的),使它们三个的最小公倍数尽可能的大.盖伦很 ...

  2. Caused by: java.sql.BatchUpdateException: Transaction error, need to rollback. errno:1205 Lock wait timeout exceeded; try restarting transaction

    更新的时候报 Caused by: java.sql.BatchUpdateException: Transaction error, need to rollback. errno:1205 Loc ...

  3. Mysql Error:1205错误诊断

    前两天遇到一个1205(ER_LOCK_WAIT_TIMEOUT)的错误,弄了半天终于找到原因,掌握原理+细心才能找到罪归祸首.下面我给大家分享下这个问题的分析处理过程,希望对大家有所帮助.接到sla ...

  4. AOJ 739 First Blood

    First Blood Time Limit: 1000 ms   Memory Limit: 64 MBTotal Submission: 152   Submission Accepted: 37 ...

  5. FOJ 1205

    Problem 1205 小鼠迷宫问题 Accept: 522    Submit: 1679 Time Limit: 1000 mSec    Memory Limit : 32768 KB Pro ...

  6. 排序+逆向思维 ACdream 1205 Disappeared Block

    题目传送门 /* 从大到小排序,逆向思维,从最后开始考虑,无后向性 每找到一个没被淹没的,对它左右的楼层查询是否它是孤立的,若是++,若不是-- 复杂度 O(n + m),还以为 O(n^2)吓得写了 ...

  7. jquery初涉,First Blood

    jquery可以帮助干的事情有: 遍历HTML文档 操作DOM 处理事件 执行动画 开发Ajax操作 优点就不在这儿扯蛋了~ 1.jquery环境配置 jquery不需要安装,只需要将下载的jquer ...

  8. magento后台登陆被锁定 索引报错的解决:General error: 1205 Lock wait timeout

    1. magento在索引的时候用shell,有时候会报错: General error: 1205 Lock wait timeout exceeded 这个时候,是因为行锁的原因,在表中您直接用s ...

  9. wikioi 1205 单词倒排

    /*====================================================================== 1205 单词翻转 题目描述 Description ...

随机推荐

  1. 通过FormData对象可以组装一组用 [XMLHttpRequest]发送请求的键/值对,它可以更灵活方便的发送表单数据。

    工作记录用 1 大概页面,点击选择按钮,选择文件,填写备注并可以上传前预览,然后点击上传按钮开始上传 2 html+js代码 <h2>Test</h2> <div id= ...

  2. HTML学习(13)区块元素和内联元素

    HTML 区块元素 大多数 HTML 元素被定义为块级元素或内联元素. 块级元素在浏览器显示时,通常会以新行来开始(和结束). 实例: <h1>, <p>, <ul> ...

  3. HTML学习(2)编辑器

    HTML编辑常用的编辑器:Notepad++.Sublime Text.VS Code 可以使用Emmet插件来提高编码速度. 注:emmet只支持32位的Notepad++. 注意这里要把这两个dl ...

  4. Java数组转集合之Arrays.asList()用法

    Arrays.asList()用法 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合. 而一开始asList的设计时用于打印数组而设计 ...

  5. python调用c/c++ (入参出参为指针)

    python可以使用ctypes库调用c++编译的so库函数 0x01  c/c++编译为so库文件 编译C文件 gcc -o libpycallfoo.so -shared -fPIC rsa.c  ...

  6. poj 1611 :The Suspects经典的并查集题目

    Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized ...

  7. DataTable、DataRow、DataColumn用法

    转载csdner 发布于2018-08-17 17:03:30 阅读数 4375  收藏   DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ...

  8. Codeforces Round #624 (Div. 3) D. Three Integers

    You are given three integers a≤b≤ca≤b≤c . In one move, you can add +1+1 or −1−1 to any of these inte ...

  9. NAT ALG原理与应用

    1  NAT ALG简介 普通NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力,在许多应用层协议中,比如多媒体协议(H.323.SIP等).FTP.S ...

  10. GEE引擎假人系统自定义教程

    现如今传奇游戏玩家数量日渐减少.为了给服务器增加人气,很多GM在服务端中增加了自动登录和自动打怪的假人系统.由于该系统登录的假人可以自动练功,自动攻城和实现简单的对话.完全可以做到以假乱真的地步!所以 ...