【学习笔记】〖九度OJ〗题目1104:整除问题
2014-03-09 10:04
537 查看
题目1104:整除问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1945
解决:607
题目描述:
给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。
输入:
两个整数n(2<=n<=1000),a(2<=a<=1000)
输出:
一个整数.
样例输入:
样例输出:
来源:2011年上海交通大学计算机研究生机试真题
答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7827-1-1.html
本题涉及数据过大,所以用分解质因子做,如果a能整除b,那么a的每个质因子的次数都要大于b对应质因子的次数
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1945
解决:607
题目描述:
给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。
输入:
两个整数n(2<=n<=1000),a(2<=a<=1000)
输出:
一个整数.
样例输入:
6 10
样例输出:
1
来源:2011年上海交通大学计算机研究生机试真题
答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7827-1-1.html
本题涉及数据过大,所以用分解质因子做,如果a能整除b,那么a的每个质因子的次数都要大于b对应质因子的次数
#include<iostream> #include<cmath> using namespace std; int primef[1001];//质因子个数 int primea[1001]; int main() { freopen("input.in", "r", stdin); freopen("output.out","w", stdout); int n, a; while (cin >> n>>a) { int i,j; //清空 for (i=0; i<1001; i++) { primef[i]=0; primea[i]=0; } int max;//循环条件 //对n!分解质因子 for(i=n; i>=0; i--) { bool isOver = false; int temp = i; while(!isOver) { max = sqrt((double)temp); for (j=2; j<=max; j++) { if (temp%j == 0) { primef[j]++; temp /= j; break; } } if (j>max) { isOver = true; if(temp>1) { primef[temp]++; } } } } //对a分解质因子 int tmp = a; bool isOver = false; while(!isOver) { max = sqrt((double)tmp); for (j=2; j<=max; j++) { if (tmp%j == 0) { primea[j]++; tmp /= j; break; } } if (j>max) { if(tmp>1) { primea[tmp]++; } isOver = true; } } //寻找最小次数 int minIndex = 1000; for (i=2; i<=a; i++) { if (primea[i]!=0 &&primef[i]/primea[i] <minIndex) { minIndex = primef[i]/primea[i]; } } cout << minIndex << endl; } return 0; }
相关文章推荐
- 【学习笔记】〖九度OJ〗题目1104:整除问题
- 【学习笔记】〖九度OJ〗题目1153:括号匹配问题
- 【学习笔记】〖九度OJ〗题目1153:括号匹配问题
- 九度 oj 题目1104:整除问题
- 九度oj 题目1104:整除问题
- 【学习笔记】〖九度OJ〗题目1138:进制转换
- 【学习笔记】〖九度OJ〗题目1156:谁是你的潜在朋友
- 九度OJ-1104-整除问题
- 【学习笔记】〖九度OJ〗题目1156:谁是你的潜在朋友
- 九度OJ 1104 整除问题
- 九度OJ 1104:整除问题 (整除、因式分解)
- 九度OJ 1104 整除问题
- 【学习笔记】〖九度OJ〗题目1432:叠筐
- 【学习笔记】〖九度OJ〗题目1433:FatMouse
- 【学习笔记】〖九度OJ〗题目1432:叠筐
- 【学习笔记】〖九度OJ〗题目1326:Waiting in Line
- 【学习笔记】〖九度OJ〗题目1437:To Fill or Not to Fill
- 【学习笔记】〖九度OJ〗题目1326:Waiting in Line
- 九度OJ 1104 整除问题 (求阶乘的质因数个数)
- 【学习笔记】〖九度OJ〗题目1437:To Fill or Not to Fill