Определяющий количество способов, какими задуманное число n>1 можно представить в виде суммы - C (СИ)
Формулировка задачи:
Составить алгоритм, определяющий количество способов, какими задуманное число n>1 можно представить в виде суммы n=i^3+j^3, считая, что перестановка слагаемых нового способа не даёт.
Решение задачи: «Определяющий количество способов, какими задуманное число n>1 можно представить в виде суммы»
textual
Листинг программы
int main ()
{
int n=1000,k=0,i,j;
for (i=0; i*i*i<=n-1; i++)
for (j=i; j*j*j<=n-1; j++)
if ( i*i*i+j*j*j==n)
k++;
printf ("\n%d sposob(ov)",k);
return 0;
}
Объяснение кода листинга программы
В этом коде определяется количество способов, которыми задуманное число n>1 можно представить в виде суммы.
- В первой строке объявляются переменные: — n=1000 - задуманное число; — k=0 - счётчик количества способов; — i,j - временные переменные.
- В двух следующих строках задаются границы для внутренних циклов: — i=0; iii<=n-1 - внутренний цикл по переменной i от 0 до кубического корня из (n-1); — j=i; jjj<=n-1 - внутренний цикл по переменной j от i до кубического корня из (n-1).
- В следующей строке проверяется условие, при котором iii+jjj равно n: — if ( iii+jjj==n) — если условие выполняется, то значение переменной k увеличивается на 1.
- В последней строке выводится результат:
— printf (
\n%d sposob(ov),k); — выводится количество способов, которыми задуманное число можно представить в виде суммы. - В последней строке возвращается 0, что означает успешный конец работы программы.