Dodawanie i odejmowanie na zmiane

0

Witam. Niedawno zacząłem przygodę z programowaniem i mam problem. Otóż muszę wykonać zadanie gdzie będę na zmianę dodawał i odejmował liczby nieparzyste. Zrobiłem już pętelkę, która wypisuje liczby nieparzyste, lecz nie wiem jak wykonać coś takiego: 1+3-5+7-11...
Liczę na szybką pomoc bo ja już nie mam pojęcia co zrobić.

0
for (int i = 0; i < ...; i++) {
  if (i % 2 == 0) {
    wynik += f(i);
  } else {
    wynik -= f(i);
  }
}
0

Czy to aby na pewno dobrze jest? Jeśli chce obliczyć dla n = 10, czyli liczby nieparzyste to: 1,3,5,7. No i ja chciałbym żeby działało to tak 1+3-5+7=6. W tym programie jak tak zrobiłem to wyszło -5.

0

Podałem Ci tylko ogólny sposób podejścia do problemu - sam sobie go dostosuj do swojego konkretnego przypadku.

0

Musisz troche inaczej indeksami pokierowac I zaczac od 3, Bo Ida dwa plusy na poczatek:

int i=3;
int k = 2;
int s=1;
while (i<n){
if (i%2!=0){
s += (-1)^k * i;
i++;
k++;
}
else{
i++;
continue;
}
}
return s;

Potegowanie jeszcze Ci potrzebne I zamknac to w funkcje od n.

0

1+3-5+7-11...

to czy tu masz dodawanie/odejmowanie na zmiane jest mocno dyskusyjne. jak dla mnie to masz dwa dodawania obok siebie.
obydwie wersje da sie zrobic bez petli (a jesli z petla to if-y nie sa niezbedne) - jak sobie wypiszesz wiecej wynikow to powinienes zobaczyc odpowiednia zaleznosc.
dla mojej interpretacji "na zmiane", przy zalozeniu ze liczone jest od 1 do nieparzystego i, rozwiazanie moze wygladac tak:

int result = (i + 1) / 2 * ("-+"[i % 4 / 2] - ',');
0

Nie mam Tu kompa, na kartce wygladalo mi dobrze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1