MT1154 缺数
(1)题目
若一个自然数的所有真因数之和比这个数小,此数就叫做缺数。输入正整数N,找出该数字是否为缺数输出YES或者NO。
格式
输入格式: 输入正整数N 输出格式: 输出YES或者NO
样例1
输入: 21 输出: YES
(2)参考代码
#include<stdio.h> int main() { int N, count = 0; scanf("%d", &N); for (int i=1;i<N;i++) { if (N % i == 0) { count += i; } } if (count < N) { printf("YES"); } else { printf("NO"); } return 0; }
MT1155 单位矩阵
(1)题目
输入3X3的整型矩阵A,判断是否为单位矩阵,输出YES或者NO。
格式
输入格式: 输入矩阵,空格分隔 输出格式: 输出YES或者NO
样例1
输入: 1 0 0 0 1 0 0 0 1 输出: YES
(2)参考代码
#include<stdio.h> #define N 9 int main() { int a[N], flag = 1; for (int i=0;i<N;i++) { scanf("%d", &a[i]); } for (int i=0;i<N;i++) { if (i == 0 || i == 4 || i == 8) { if (a[i] != 1) { flag = 0; } } else { if (a[i] != 0) { flag = 0; } } } if (flag == 1) { printf("YES"); } else { printf("NO"); } return 0; }
MT1156 稀疏矩阵
(1)题目
输入3X3的整型矩阵A,判断是否为稀疏矩阵,输出YES或者NO。若矩阵中数值为0的元素数目多于非0元素的数目就叫做稀疏矩阵。
格式
输入格式: 输入矩阵,空格分隔 输出格式: 输出YES或者NO
样例1
输入格式: 4 0 0 0 5 0 0 0 6 输出格式: YES
(2)参考代码
#include<stdio.h> #define N 9 int main() { int a[N], i, count_0 = 0, count_1 = 0; for (i=0;i<N;i++) { scanf("%d", &a[i]); } for (i=0;i<N;i++) { if (a[i] == 0) { count_0++; } else { count_1++; } } if (count_0 > count_1) { printf("YES"); } else { printf("NO"); } return 0; }
MT1157 矩阵相等
(1)题目
输入4X4的整型矩阵A和B,判断是否为相等,输出YES或者NO。
格式
输入格式: 输入矩阵,空格分隔。 输出格式: 输出YES或者NO
样例1
输入: 4 0 0 0 5 0 0 0 6 1 2 3 4 5 6 7 4 0 0 0 5 0 0 0 6 1 2 3 4 5 6 7 输出: YES
(2)参考代码
#include<stdio.h> int main() { int a[4][4], b[4][4]; int i, j, flag = 1; for (i=0;i<4;i++) { for (j=0;j<4;j++) { scanf("%d", &a[i][j]); } } for (i=0;i<4;i++) { for (j=0;j<4;j++) { scanf("%d", &b[i][j]); } } for (i=0;i<4;i++) { for (j=0;j<4;j++) { if (a[i][j] != b[i][j]) { flag = 0; break; } } } if (flag == 1) { printf("YES"); } else { printf("NO"); } return 0; }
MT1158 分解
(1)题目
输入正整数N和M,判断N是否可以分解成M个不同的正整数的和,输出YES或者NO。
格式
输入格式: 输入正整数N和M,空格分隔 输出格式: 输出YES或者NO
样例1
输入格式: 5 2 输出格式: YES
(2)参考代码
#include<stdio.h> int main() { int N, M; scanf("%d %d", &N, &M); if (N >= ((M + 1) * M) / 2) { printf("YES"); } else { printf("NO"); } return 0; }
MT1159 指定集合
(1)题目
某数组含有N个元素,输出那些数字来自集合{4,5,6}的元素,按原序。没有就输出-1。
格式
输入格式: 第一行输入数组长度N,第二行输入数组元素,整型,空格分隔。 输出格式: 输出整型,空格分隔。
样例1
输入: 4 1 2 3 4 输出: 4
(2)参考代码
#include<stdio.h> //#include<stdlib.h> int main() { int N, i; int flag = 1; scanf("%d", &N); int* num = (int*)malloc(sizeof(int) * N); for (i=0;i<N;i++) { scanf("%d", &num[i]); } for (i=0;i<N;i++) { if (num[i] == 4 || num[i] == 5 || num[i] == 6) { flag = 0; printf("%d ", num[i]); } } if (flag == 1) { printf("-1"); } return 0; }
MT1160 尾数为0
(1)题目
输入正整数N,请在1!,2! , 3! …N!中查找尾数为零的数,统计这样的数字的个数并输出。
格式
输入格式: 输入正整数N 输出格式: 输出整型
样例1
输入格式: 5 输出格式: 1
(2)参考代码
#include<stdio.h> int main() { int N, factorial, count = 0; scanf("%d", &N); for (int i=1;i<=N;i++) { factorial = 1; for (int j=1;j<=i;j++) { factorial *= j; } if (factorial % 10 == 0) { count++; } } printf("%d", count); return 0; }