题目如图:
代码如下:
#include <iostream>
using namespace std;
int A, B;//A B是0
int f(long long int n) {
long long int ret;
if (n == 1) {
return 1;
}
if (n == 2) {
return 1;
}
long long int* values = new long long int[n + 1];
values[1] = 1;
values[2] = 1;
for (int i = 3; i <= n; i++) {
values[i] = (A * values[i - 1] + B * values[i - 2]) % 7;
}
ret = values[n];
delete[] values;
return ret;
}
int main() {
long long int n, A, B;
while (1) {
cin >> A >> B >> n;
if (A == 0 && B == 0 && n == 0) {
return 0;
}
cout << f(n) << endl;
}
return 0;
}
这里全局变量A B在main输入之后 f()调用时是0 求大佬告知原因! 十分感谢!
代码如下:
#include <iostream>
using namespace std;
int A, B;//A B是0
int f(long long int n) {
long long int ret;
if (n == 1) {
return 1;
}
if (n == 2) {
return 1;
}
long long int* values = new long long int[n + 1];
values[1] = 1;
values[2] = 1;
for (int i = 3; i <= n; i++) {
values[i] = (A * values[i - 1] + B * values[i - 2]) % 7;
}
ret = values[n];
delete[] values;
return ret;
}
int main() {
long long int n, A, B;
while (1) {
cin >> A >> B >> n;
if (A == 0 && B == 0 && n == 0) {
return 0;
}
cout << f(n) << endl;
}
return 0;
}
这里全局变量A B在main输入之后 f()调用时是0 求大佬告知原因! 十分感谢!