#include <stdio.h>
int main()
{
int t, w;
long int n, m, c, i, j, f = 0;
long long int b, s = 1;
scanf("%d",&t);
for(w = 1; w <= t; w++)
{
f = 0;
s = 1;
scanf("%ld %ld %ld",&n,&m,&c);
b = (long long int) n * m;
if (c > b) {
printf("%d\n",0);
} else {
for(i = 1; i <= n; i++) {
for(j = 1; j <= m; j++) {
s = i * j;
if (s == c) {
f++;
s = 1;
}
}
printf("%ld\n",f);
}
}
return 0;
}
}
Когда входы:Как отлаживать эту программу на больших входах?
1
1000000
1000000
1000000
Но выход, он не показывает значение ф. Почему вывод не показывает значение f? Есть ли какие-либо проблемы, связанные с типами данных, которые я использовал?
Вы серьезно назвали свои переменные 't, w, n, m, c, i, j, f, b, s' ??? Как в мире мы должны понимать смысл этого кода? – abelenky
'long' - это, как правило, 32-битный тип данных, поэтому +/- 2147483647. вы прошли мимо него с' 1000000000000'. вы, вероятно, хотите долгое время, которое должно быть 64 бит. –
так как я могу это получить? @MarcB –