uvaoj 1069 Always an integer
2015-11-09 11:52
387 查看
题解:
1.对于最高次数是n次的时候,为x分别带入0,1,2…到n + 1,如果都为整数,则多项式为整数
总结:
1.这个题目没有自己想出来,总结一下,以后在做题的时候还是要明确目标,猜猜可能能通过哪些方面得到答案
2.这道题依旧碰到了bug,导致浪费了很多时间,以后做到,每次犯错误,都停下来思考一下,对以后要做的事情做一个简单的规划
3.昨天写xv6的编程作业,感觉都几乎已经能够写完了,但是没有成功,很是挫败。胡乱的试了试,导致浪费了很多时间。规定以后每次学习前都应该摆正心态:学习为了自己学习,不虚荣,不只为比较,不为证明自己,只为进步。
4.为了提高工作效率,保证每一科连续学习时间不超过两个小时,半小时内不再学习这个科目。
1.对于最高次数是n次的时候,为x分别带入0,1,2…到n + 1,如果都为整数,则多项式为整数
总结:
1.这个题目没有自己想出来,总结一下,以后在做题的时候还是要明确目标,猜猜可能能通过哪些方面得到答案
2.这道题依旧碰到了bug,导致浪费了很多时间,以后做到,每次犯错误,都停下来思考一下,对以后要做的事情做一个简单的规划
3.昨天写xv6的编程作业,感觉都几乎已经能够写完了,但是没有成功,很是挫败。胡乱的试了试,导致浪费了很多时间。规定以后每次学习前都应该摆正心态:学习为了自己学习,不虚荣,不只为比较,不为证明自己,只为进步。
4.为了提高工作效率,保证每一科连续学习时间不超过两个小时,半小时内不再学习这个科目。
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; #define MAXN 110 #define LEN 10000 char s[LEN]; int cof[MAXN],len,mod,maxn; int afterDigit(int i) { for(;(isdigit(s[i])) && i < len;i++); return i; } bool solve() { for(int num = 0;num <= maxn + 1;num++) { long long ans = 0; for(int exp = 0;exp <= maxn + 1;exp++)if(cof[exp]) { long long x = num; if(!num && !exp)x = 1; for(int k = 1;k < exp;k++) x = (x * num) % mod; ans = ((x * cof[exp]) % mod + ans) % mod; } if(ans)return false; } return true; } int main() { int kcas = 1; while(scanf("%s",s) && s[0] != '.') { memset(cof,0,sizeof(cof)); len = strlen(s); maxn = 0; for(int i = 0;i < len;i++)if(s[i] == '/') { len = i; mod = atoi(s + i + 1); break; } for(int i = 0;i < len;i++) { int coff,exp; if(s[i] == 'n') { coff = 1; } else if((s[i] == '+' || s[i] == '-') && s[i + 1] == 'n') { if(s[i] == '+')coff = 1; else coff = -1; i++; } else if((s[i] == '+' || s[i] == '-') && s[i + 1] != 'n') { int ind = afterDigit(i + 1); coff = atoi(s + i); i = ind; } else if(isdigit(s[i])) { int ind = afterDigit(i); coff = atoi(s + i); i = ind; } else continue; if(s[i] == ')')exp = 0; else if(s[i + 1] != '^')exp = 1; else { exp = atoi(s + i + 2); i = afterDigit(i + 2); i--; } cof[exp] = coff; maxn = max(maxn,exp); } printf("Case %d: ",kcas++); if(solve())puts("Always an integer"); else puts("Not always an integer"); } }
相关文章推荐
- CSS对Web页面载入效率的影响分析总结
- 枚举的用法详细总结
- 程序员开发项目是选择效率还是质量呢?
- php中file_get_content 和curl以及fopen 效率分析
- c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)
- 理解C#中的枚举(简明易懂)
- C#枚举中的位运算权限分配浅谈
- 让的PHP代码飞起来的40条小技巧(提升php效率)
- 通过格式良好的SQL提高效率和准确性
- C++基础入门教程(四):枚举和指针
- FileShare枚举的使用小结(文件读写锁)
- Java枚举类用法实例
- JavaScript效率调优经验
- 枚举窗口句柄后关闭所有窗口示例
- 奇怪的PHP引用效率问题分析
- php MySQL与分页效率
- JavaScript中的集合及效率
- javascript模拟枚举的简单实例
- 深入剖析JavaScript中的枚举功能
- Javascript 各浏览器的 Javascript 效率对比