Suma potęg

K1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
0

Witam, mam do napisania program w c++, który będzie liczył sumę potęg liczb podanych przez uzytkownika.Najpierw podajemy ilość ciągu liczb oraz stopień potęgi, potem wczytujemy n liczb, a na koniec podajemy sumę ich potęg. Np dla liczby 4 2
2 1 1 3 powinno wyjść 15. Dopiero zaczynam, próbowałem pokombinować z tablicami ale nie wychodzi, z góry dzięki za jakieś wskazówki jak to zrobić.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
#include <iostream>
#include <iterator>
using namespace std;

int main() //4 2 2 1 1 3
{
	istream_iterator<int> iis(cin);
	int sum=0;
	for(int count=*iis,pow=*(++iis),add=1;count--;sum+=add,add=1) for(int value=*(++iis),mask=1;mask<=pow;mask<<=1,value*=value) if(pow&mask) add*=value;
	cout<<sum<<endl;
	return 0;
}
kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
7

Dopiero zaczynam, próbowałem pokombinować z tablicami ale nie wychodzi, z góry dzięki za jakieś wskazówki jak to zrobić.

Wskazówka: nie potrzebujesz tablicy, po wczytaniu liczby liczb do wczytania oraz wykładnika potęgi interesuje Ciebie jedynie:

  1. ile liczb już wczytałeś
  2. aktualna suma
  3. aktualna liczba (aby ją podnieść do potęgi i dodać do sumy)
ZD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2310
5
Koza12345 napisał(a):

Dopiero zaczynam, próbowałem pokombinować z tablicami ale nie wychodzi

O wiele bardziej byłbyś tu szanowany, i nie traktowany jako kolejny próbujący wyłudzić gotowca za frajer, gdybyś te nieudane / nie w pełni udane próby tu podał

EM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0
Kopiuj
#include <iostream>
#include <cmath>

int main() {
  // Wczytaj ilość liczb i stopień potęgi
  int n, k;
  std::cin >> n >> k;

  // Utwórz tablicę na n liczb
  int numbers[n];

  // Wczytaj liczby do tablicy
  for (int i = 0; i < n; i++) {
    std::cin >> numbers[i];
  }

  // Oblicz sumę potęg liczb
  int sum = 0;
  for (int i = 0; i < n; i++) {
    sum += pow(numbers[i], k);
  }

  // Wyświetl wynik
  std::cout << sum << std::endl;

  return 0;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.