1.
首先,单位矩阵是主对角线全为1,其余位置为0的矩阵
主对角线如图(虽然好丑)
方法一:用一维数组表示,在a[0],a[4],a[8]位置上为一,其余为0
方法二:定义二维数组,在a[1][1],a[2][2],a[3][3]位置上为0,其余为1
这里给出的是方法一的代码
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int a[9];
for(int i=0;i<9;i++){
scanf("%d",&a[i]);
}
if(a[0]==1&&a[4]==1&&a[8]==1&&a[1]==0&&a[2]==0&&a[3]==0&&a[5]==0&&a[6]==0&&a[7]==0){
printf("YES");
}
else{
printf("NO");
}
return 0;
}
2.
需要两个判断条件
①两个数是否为质数
②相差是否为2
在判断质数时,需要单独判断数字1,数字1是质数
#include<bits/stdc++.h>
using namespace std;
int iszhishu(int n){
int flag=0;
if(n==1){
return 1;
}
for(int i=2;i<n;i++){
if(n%i==0){
return 1;
}
flag=flag+1;
}
if(flag=n-1){
return 2;
}
}
int main( )
{
int n,m;
scanf("%d %d",&n,&m);
if(iszhishu(n)==2&&iszhishu(m)==2){
if(m-n==2){
printf("YES");
}
}
else{
printf("NO");
}
return 0;
}