按如下递归公式求函数值:x=1时 f(x)=10;x>1时 f(x)=f(x-1)+2。输入整型变量x,输出f(x)。
#include<iostream>
using namespace std;
int f(int x)
{
int y;
if (x == 1)
y = 10;
else
y = f(x - 1) + 2;
return y;
}
int main()
{
int x, y;
cin >> x;
y = f(x);
cout << y << endl;
return 0;
}
求矩阵的两对角线上的元素之和。输入矩阵的行数N和一个N*N的整数矩阵a[N][N](N<=10),输出所输矩阵的两对角线上的元素之和。
#include<iostream>
using namespace std;
int main()
{
int n, sum = 0;
int q[11][11] = {0};
cin >> n;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cin >> q[i][j];
}
for (int i = 0, j = 0; i < n&&j < n; i++, j++)
{
if (j == (n - 1) / 2 && (n % 2) != 0)
sum = sum + q[i][j];
else
sum = sum + q[i][j] + q[n - 1 - i][j];
}
cout << sum << endl;
return 0;
}
求出1-N中的所有素数。输入大于1的正整数N,输出1-N中的所有素数(以从小到大的格式)。
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
cout << 2 << ' ';
for (int i = 3, j; i < (n + 1); i++)
{
for (j = 2; j < i; j++)
{
if (i%j == 0)
break;
}
if(j==i)
cout << i << ' ';
}
return 0;
}
一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数。问新的对称数是多少?
#include<iostream>
using namespace std;
int main()
{
int n, v;
char ch[10];
for (int i = 95860; i < 100000; i++)
{
snprintf(ch, sizeof(ch), "%d", i);
if (ch[0] == ch[4] && ch[1] == ch[3])
{
n = i;
break;
}
}
cout << n << endl;
return 0;
}