Информатика, вопрос задал toke03 , 7 лет назад

Сколько существует троек положительных целых чисел (a,b, c) таких, что a+b+c<=S b a*b*c<=P? вводятся числа S P. программирование на питон. Пример если числа 5 и 2
то результат 4 (Все подходящие тройки (1,1,1), (1,1,2), (1,2,1), (2,1,1).)


elarysertaj: #include
#include
#include
#include
#include
using namespace std;

int main(){
long long S, P, count = 0;
cin >> S >> P;
for(int i = 1; i <= S; i++){
for(int j = 1; j <= S; j++){
if(P / (i * j) > 0 && S - (i + j) > 0){
if(S - (i + j) > P / (i * j)){
count += (P / (i * j));
}
else{
count += (S - (i + j));
}
}
}
}
cout << count;
}

Ответы на вопрос

Ответил Аноним
2

Ответ:

a, b = map(int, input().split())

counter = 0

for i in range(1, a + 1):

   for j in range(1, a + 1):

       for k in range(1, a + 1):

           if i + j + k <= a and i * j * k <= b:

               counter += 1

print(counter)

Объяснение:

код правильный, но медленный

Ответил zhumalinanazerke
0

Ответ:

#include <iostream>

using namespace std;

int main()

{

   long long p;

   int s, k = 0;

   cin >> s >> p;

   for(int a = 1; a <= s, a <= p; a++){

       for(int b = 1; b <= s, b <= p; b++){

           for(int c = 1; c <= s, c <= p; c++){

               if(a + b + c <= s && a*b*c <= p) k++;  

           }

       }

   } cout << k;

}

Объяснение

на с++, так же медленный. если есть кто решил, можете подсказать? интересно самому.


zhumalinanazerke: код вроде правильный. два теста прошли, остальные показывают что
Новые вопросы