您的位置:首页 > 其它

人人网笔试题第三题之找规律简单数论

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;
}
}


就根据简单数论的同余定理和加法乘法同于得出,不了解的同学自行百度哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: