P8834 求有多少对和谐的一对

思路: 设置一个数组来存储每一个同学知道的那个数,再设置一个cnt=0,用于之后存储和谐的对数。再使用for循环和if语句进行题中条件的判断,如若符合条件则cnt++,循环完毕则输出cnt的数值

错误总结: 两个数进行运算时,注意其运算结果是否有数值溢出的风险,如果溢出则强制转换类型

include <stdio.h>
int main() { int n, i, j; int cnt = 0; long long k; int a[1003];

scanf("%d %lld", &n, &k);

for (i=0; i<n; i++)
{
scanf("%d", &a[i]);
}

for (i=0; i<n; i++)
{
for (j=i+1; j<n; j++)
{
if (k >= (long long)a[i]*a[j])//注意数值溢出问题;
{
cnt++;
}
}
}

printf("%d", cnt);

return 0;
}

posted @ 2025-07-16 20:53  xinday  阅读(13)  评论(0)    收藏  举报