WustOj--1546传说中的教主(思维,脑洞)
来源:互联网 发布:sleep php函数毫秒 编辑:程序博客网 时间:2024/05/22 14:46
1546: 传说中的教主
Time Limit: 1 Sec Memory Limit: 128MB 64bit IO Format: %lld
Submitted: 38 Accepted: 18
[Submit][Status][Web Board]
Description
众所周知,ZiP有一个室友叫老郭,是个满分帅气暖男,只是有个习惯是*狗。
然而老郭是一个强迫症患者,他*的狗必须满足以下条件:
首先他会把n只狗排成一排,从1到n依次编号。
接着他会让ZiP给他报一个整数m。
然后任意选出三只狗编号为x,y,z,如果能满足x^m+y^m=z^m(分别代表x,y,z的m次方),则会把狗*掉。
那么问题来了,对于n只狗,已经ZiP给定的一个数m,老郭有多少种可能*到狗?
Input
多组测试数据(不超过10组),每组一行。
有2个数,第一个是n(1<=n<=5000),第二个是m(1<=m<=100)
Output
每组输出一行,代表老郭能*到狗的可能数。
Sample Input
3 1
1000 2
1000 1
Sample Output
1
881
249500
HINT
对于第一组样例,(1,2,3)满足,所以输出为1。
(1,2,3)和(2,1,3)视为同一组
Author
ZiP
题目最后只需要考虑1和2的情况
2以后的数字,都找不到一个三元对符合条件
有兴趣的同学可以通过数学证明出来
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<functional>#include<cmath>using namespace std; int main(){ int n,m; int i,j,k; long long a,b,c,d; long long cnt; while(scanf("%d%d",&n,&m)!=EOF) { cnt=0; if(m==1) { k=n; for(i=1;i<=n-2;i++) { if(k-2>0) { cnt+=(k-2); k-=2; } } } else if(m==2) { for(i=1;i<=n;i++) { for(j=i+1;j<=n;j++) { a=i*i; b=j*j; d=(long long)sqrt(a+b); c=d*d; if(a+b==c&&c>b&&d<=n) cnt++; } } } else cnt=0; printf("%ld\n",cnt); }}
已下搬自百度回答
据说1995年已经被安德鲁.怀尔斯解决了,论文有200页.用的理论是椭圆曲线和模型式.
我来水一下,说不定就是费尔玛当年的绝妙的想法:
假设X^n+Y^n=Z^n,其中XYZn为正整数,当n>2时,XYZ有正整数解,设n=2+m,而我们知道:
方程X^2+Y^2=Z^2是有解的:x=a^2-b^2,y=2ab,z=a^2+b^2,那么
x^(2+m)+y^(2+m)=z^(2+m)意味着:x^2(x^m-1)+y^2(y^m-1)=z^2(z^m-1)
这样,x^m-1=1,y^m-1=1,z^m-1=1,x=2^(1/m),y=2^(1/m),z=2^(1/m)
所以:x=y=z,x^n+y^n=2x^n=z^n=x^n,得出:2=1,矛盾,因此原方程没有正整数解.
- WustOj--1546传说中的教主(思维,脑洞)
- wustoj 1583: Sharing! 思维
- wustoj(脑洞)
- WUSTOJ
- Uva 11134 传说中的车 贪心的思维
- 传说中的WCF(7):“单向”&“双向”
- 传说中的WCF(12):服务器回调有啥用
- UVA11134传说中的车(放棋子)
- 快速排列(传说中的快排)
- gym101431D(传说中的构造(呸))
- 传说中的"盛唐"
- 传说中的DELPHI9--DiamondBack
- 传说中的软件工程
- 传说中的华为(ZT)
- 传说中的排骨米饭...
- |转| 传说中的Vitas
- 传说中的D50对手
- 传说中的精品女人
- CentOS6网络连接
- 计算1*2*3+3*4*5+.......+99*100*101的值
- 如何在浏览器上使用Octotree插件树形地展示Github项目代码?
- 33.开源项目--git分支与本地分支的区别
- python set(集合)
- WustOj--1546传说中的教主(思维,脑洞)
- 三栏式布局
- List源码解析之Vector 源码分析
- 线程
- dfs hdu 1584 蜘蛛牌
- 返回局部指针变量
- Innovator Admin 一个aras的管理器,又一个package安装方法
- 【我的Java笔记】集合中 toArray() 方法的使用
- hibernate主键生成策略