人人网笔试题第三题之找规律简单数论
2017-03-19 22:53
274 查看
选择题一通胡蒙,做了两道编程题,第三题不会,学的太差了,难受
第三题是一个数论,之前数论题做得少,理论也懂,不会,先看代码:
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <set>
#include <map>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
#include <cassert>
#include <climits>
#pragma warning( disable : 4996)
using namespace std;
const int maxn = 1111;
int main() {
//freopen("rule_10.in", "r", stdin);
//freopen("rule_10.out", "w", stdout);
long long b;
while (cin >> b) {
int x, y;
for (int i = 2; i < b; i++) {
if (b % i == 1) {
x = i;
break;
}
}
long long b1 = b + 1;
long long b2 = b * b - 1;
for (int i = 2; i <= b1; i++) {
if (b1 % i == 0 && b2 % i == 0) {
y = i;
break;
}
}
cout << x << ' ' << y << endl;
}
}
就根据简单数论的同余定理和加法乘法同于得出,不了解的同学自行百度哈
第三题是一个数论,之前数论题做得少,理论也懂,不会,先看代码:
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <set>
#include <map>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <queue>
#include <cassert>
#include <climits>
#pragma warning( disable : 4996)
using namespace std;
const int maxn = 1111;
int main() {
//freopen("rule_10.in", "r", stdin);
//freopen("rule_10.out", "w", stdout);
long long b;
while (cin >> b) {
int x, y;
for (int i = 2; i < b; i++) {
if (b % i == 1) {
x = i;
break;
}
}
long long b1 = b + 1;
long long b2 = b * b - 1;
for (int i = 2; i <= b1; i++) {
if (b1 % i == 0 && b2 % i == 0) {
y = i;
break;
}
}
cout << x << ' ' << y << endl;
}
}
就根据简单数论的同余定理和加法乘法同于得出,不了解的同学自行百度哈
相关文章推荐
- (深信服笔试题)简单文本文件的过滤高频率单词C++代码
- 赚钱第三定律:最简单的方法最赚钱
- 腾讯笔试题目之一 最简单的那个
- 今天面试笔试了一道SQL面试题,狠简单
- 基于人人网的简单爬虫(二)——具体实现
- 一道简单笔试题
- 分享3道简单但实用的Java笔试题
- HDU 1222(数论,简单题)
- 人人网笔试【hao】
- 简单的数论题目zju1652(不知道有没有AC,因为我在zju上没帐号)PKU上没有
- 简单,有规律
- 09校内网、人人网、千橡公司笔试题
- Sony笔试题 (估计是最简单的一题了)
- 第三课 设计一个简单的计算器
- [转] 应聘Java笔试时可能出现问题及其答案(第三部分)
- 简单c/c++笔试题
- 腾讯的几个简单笔试题解答
- ACM模拟题详解(2)——简单数论
- 基于人人网的简单爬虫(一)——正则表达式
- 基于人人网的简单爬虫(二)——具体实现