#include<stdio.h>
int main()
{
int n = 2024;
int i = 0;
for (i = 2; i <= n; i++)
{
while (n % i == 0)
{
n /= i;
if (n == 1)
{
printf("%d\n", i);
break;
}
}
}
return 0;
}
#include<stdio.h>
int main()
{
int a = 2024;
int i = 0;
int count = 0;
for (i = 1; i <= 2024; i++)
{
int b = i ^ a;
if (b < 2024)
{
count++;
}
}
printf("%d ", count);
return 0;
}
问题3(填空题)
求2024与1024的最小公倍数
代码↓
#include<stdio.h>
int main()
{
int a = 2024;
int b = 1024;
for (int i = 2024; ; i++)
{
if (i % a == 0 && i % b == 0)
{
printf("最小公倍数为:%d", i);
break;
}
}
return 0;
}
问题4(编程题)
小蓝准备请自己的朋友吃饭。小蓝朋友很多,最终吃饭的人总数达 2024 人(包括他自己)。
请问如果每桌最多坐 n 人,最少要多少桌才能保证每个人都能吃饭。
代码↓
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int a = 2024 / n;
int b = 2024 % n;
if (b == 0)
{
printf("%d", a);
}
else if (b != 0)
{
a = a + 1;
printf("%d", a);
}
return 0;
}
第二行包含 n 个整数,相邻数之间使用一个空格分隔,依次表示 a[1], a[2], ..., a[n] 。
【输出格式】
输出一行,包含一个整数,表示答案。数据保证数组中至少有一个偶数。
【样例输入】
9
9 9 8 2 4 4 3 5 3
【样例输出】
2
代码↓
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 0;
int arr[1000];
// 读取数组元素个数
scanf("%d", &n);
// 读取数组元素
for (int i = 1; i < n; i++)
{
scanf("%d ", &arr[i]);
}
int min = 1000000; // 先初始化一个较大值,用于比较找出最小偶数
for (int i = 1; i < n; i++)
{
if (arr[i] % 2 == 0 && arr[i] < min)
{
int min = arr[i];
}
}
printf("%d\n", min);
return 0;
}
x1 <= x <= x2,且 y = y1 ,对应“口”的左边一竖;
y1 <= y <= y2,且 x = x1 ,对应“口”的上面一横;
x1 <= x <= x2,且 y = y2 ,对应“口”的右边一竖;
y1 <= y <= y2,且 x = x2 ,对应“口”的下面一横.
请注意有些点满足以上条件的多个,例如左上角的点 (x1, y1) ,在计算时算为一个点。
区域上的值是指对应区域的所有点的值,即“口”字的框上的值,不含框内和框外的值。
【输入格式】
输入的第一行包含两个整数 n, m ,分别表示行数和列数。
接下来 n 行,每行包含 m 个整数,相邻数之间使用一个空格分隔,依次表示矩阵的每行每列的值,本部分的第 i 行第 j 列表示 a[i][j] 。
【输出格式】
输出一行包含一个整数,表示最大的和。
【样例输入】
5 6
1 -1 2 -2 3 -3
-1 2 -2 3 -3 4
2 -2 3 -3 4 -4
-2 3 -3 4 -4 5
3 -3 4 -4 5 -5
【样例输出】
4
代码↓
#include<stdio.h>
int main()
{
int n = 0;
int m = 0;
scanf("%d %d", &n, &m);
int arr[100][100] = { 0 };
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf("%d", &arr[i][j]);
}
}
int max = -9999999999;
int sum = 0;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < m - 1; j++)
{
sum = arr[i][j] + arr[i + 1][j] + arr[i][j + 1] + arr[i + 1][j + 1];
if (sum > max)
{
max = sum;
}
}
}
printf("%d", max);
return 0;
}