Получить a в степени 21 за шесть операций - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано вещественное число а. Пользуясь только операцией умножения, получить a21 за шесть операций. где ошибка?
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <clocale>
 
void main()
{
 setlocale(LC_ALL,"Russian");
 int a,a2,a4,a8,a12,a20,a21;
 printf("Введите число a:");
 scanf("%d",&a);
 a2=a*a;
 printf("1:a^2=%d\n",a^2);
 a4=a^2*a^2;
 printf("2:a^2*a^2=%d\n",a^4);
 a8=a^4^a^4;
 printf("3:a^4^a^4=%d\n",a^8);
 a12=a^8*a^4;
 printf("4:a^8*(a^4=%d\n",a^12);
 a20=a^12*a^8;
 printf("5:a^12*a^8=%d\n",a^20);
 a21=a^20*a;
 printf("6:a^20*a=%d\n",a^21);
getch();
}
надо в С,а не в C++

Решение задачи: «Получить a в степени 21 за шесть операций»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <clocale>
 
void main()
{
 setlocale(LC_ALL,"Russian");
 double a,a2,a4,a8,a12,a20,a21;
 
 printf("Введите число a:");
 scanf("%lf",&a);
 a2=a*a;
    printf("1:a^2=%lf\n",a2);
 a4=a2*a2;
    printf("2:a^2*a^2=%lf\n",a4);
 a8=a4*a4;
    printf("3:a^4^a^4=%lf\n",a8);
 a12=a8*a4;
    printf("4:a^8*(a^4=%lf\n",a12);
 a20=a12*a8;
    printf("5:a^12*a^8=%lf\n",a20);
 a21=a20*a;
    printf("6:a^20*a=%lf\n",a21);
getch();
}

Объяснение кода листинга программы

  1. Вводится число a.
  2. a2 = a*a.
  3. Выводится a^2.
  4. a4 = a2*a2.
  5. Выводится a^4*a^4.
  6. a8 = a4*a4.
  7. Выводится a^8*(a^4).
  8. a12 = a8*a4.
  9. Выводится a^12*a^8.
  10. a20 = a12*a8.
  11. Выводится a^20*a^8.
  12. a21 = a20*a.
  13. Выводится a^20*a.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы