Odejmowanie zamiast dodawania

Suma liczb od 1 do 100 (1+2+3+…+100) wynosi 5050. Gdybyśmy chcieli zastąpić niektóre znaki dodawania znakami odejmowania to czy byłoby możliwe otrzymanie wyniku 2345? Jeśli tak, to ile minimalnie plusów trzeba zastąpić minusami by ten wynik osiągnąć?

  • Niestety, nie da się osiągnąć tego wyniku. A potrafisz podać regułę, która powie nam jakie liczby da się osiągnąć? Jest ona dość prosta, wystarczy przyjrzeć się wynikom które osiągamy przy zamianie plusów na minusy.
24 komentarzy
Inline Feedbacks
View all comments
łukasz

da się osiągnąć taką sumę :)

Pedro
Reply to  łukasz

#include
#include
#include

/* run this program using the console pauser or add your own getch, system(„pause”) or input loop */

using namespace std;

int wynik,liczba,znak;

int main() {
srand( time( NULL ) );
wynik = 0;
liczba = 0;
while (wynik !=2345){
while (liczba < 100){
znak = rand() % 2;
liczba +=1;
if (znak == 0){wynik += liczba;}
if (znak == 1){wynik -= liczba;}
if (liczba == 100){cout << wynik<<endl;liczba = 0;wynik = 0;}
}
}
cout <<wynik;
return 0;
}

Powodzenia w szukaniu :D

vi
Reply to  Pedro

#include <iostream
#include <cstdlib
#include <time.h

(dopiszczie "większe niż" pod koniec linijki)
zeżarło ci biblioteki,
poza tym twój program ma szansę na nieskończoną pętlę (warunkiem wyjścia jest suma 2345, która jest liczona w sposób losowy). Punkty bonusowe za wypisanie, gdzie i ile jest minusów.

łukasz

Przykład:
70 + 71 + … + 100 = 2635
5050 – 2635 = 2415
2415 – 2345 = 70
70 można z pozostałych liczb < 70 uzyskać na wiele sposobów.

łukasz

Przykład:
Można zauważyć że liczby 1…100 można „ustawić w pary” tak, że suma pary równa jest 101.
Weźmy 24 takie pary 1+100…24+77. Suma pozostałych 26 par równa jest 0 przy założeniu, że 13 z nich jest z minusem.
24 * 101 = 2424.
2424 – 2345 = 79.
79 – 77 – 2 (które są w wybranych przez nas parach) = 0.

łukasz

Fakt.
Wynik jest parzysty. Obojętnie czy odejmuję parzystą czy nieparzystą to i tak nadal suma jest parzysta.
A przed jedynką też można postawić 'minus? ;)

łukasz
Reply to  SzaloneLiczby

Miałbym rację? Dając 1 z minusem suma byłaby 5048 więc chyba też by to nic nie dało, czy mylę się?

Geralt

Hehe
Az się ciśnie na usta powiedzonko „mieć 5zloty i nie mieć 5zloty to już 10zloty”
:-)

Nowicjusz

Zawsze można przed liczbami od 68 do 100
I przed liczbą 33 wstawić kinusy to wtedy wykdzie wynik

Nick

Nie da się otrzymać tej liczby, ponieważ gdybyśmy zaczęli zamieniać znak minus na plus od najwyższej liczby (aby otrzymać jak najmniejsza liczbę minusów ) to każda kolejna liczba, której znak został zmieniony była by liczba parzysta(gdyż podczas zmieniania plusa na minus nie dosc że obejmujemy liczbę to jeszcze sprawiamy że nie została ona dodana). Biorąc więc pod uwagę fakt że 5050 jest liczba parzysta to wynik także byłby liczba parzysta.

MateStu

Zagadka podobna do. Masz dwa kubki obrocone do dolu i jeden do gory. Czy dasz rade obrocic wszystkie do gory jezeli jedniczesnie obracasz dwa wybrane na odwrotna ppzycje. Parzysta – parzysta daje parzysta wiec nigdy nie uzyskamy wyniku nieparzystego.

Olivka

Nie da się. Najlepiej sprawdzić to w takie sposób: 5050-2*którakolwiek z liczb od 1 – 100. Dlaczego *2 bo najpierw ją dodaliśmy a przecież trzeba ją jeszcze odjąć. Wynik który chcemy osiągnąć jest liczbą nieparzystą, a każda liczba mnożona przez 2 jest parzysta. Każda parzysta – parzysta = parzysta :)

Kam98

Mi wyszło że trzeba wstawić 31 minusów. W liczbach od 69 do 100 i między 2 i 3.

XIX

Jest to nie możliwe ponieważ zmieniając plus na minus odejmujemy dwukrotność liczby liczby zmienionego znaku od 5050, więc nawet jeśli zmienimy plus na minus przy liczbach nieparzystych i tak finalnie odejmiemy liczbę parzystą od 5050. Aby otrzymać liczbę 2345 musielibyśmy z liczb zmienionych znakiem dostać liczbę 1352,5, a nie dostaniemy takiej liczby z liczb całkowitych.

ultramatematyk32018

prawda. zgodnie z niezmiennikami. bo zmieniając zabieramy liczbę z sumy i jeszcze ją odejmujemy, czyli zabieramy ją dwa razy, czyli zawsze odejmujemy liczbę parzystą, a odejmując od liczby parzystej liczby parzyste nie uzyskamy liczby nieparzystej.

maksiu

Da się (chyba). Minimalna liczba minusów to 15. Wstawiamy je w liczbach: 100,99,98,97,96,95,94,93,92,91,90,89,88,87,41 Nie sprawdzałem

maksiu

2500-2345=2700
2700/2=1350 Każda liczba ze zmienionym znakiem „podwójnie” odejmuje.
Sumując największe liczby:100+99+…+87+41=1350 W sumie 15 liczb

Piotr

Da się. Zamieniamy minusy od największych liczb 100,99,98 etc. Po odjęciu 69 pozostaje 2346, czyli musimy odjąć 1. W sumie zamieniliśmy 33 znaki + na – . Jeśli przed jedynką nie możemy postawić – to należy wziąć 68 i 2. Suma minusów nie zmienia się.

geniusz wśród motłochu

Ostateczna odpowiedź: nie da się. Poniżej dowód.

Załóżmy, że x to suma liczb, przy których stoi znak +.
Natomiast y to suma liczb, przy których stoi znak -.
Uściślając, bierzemy pod uwagę ich wartości bezwzględne.

x,y to liczby naturalne.

A więc możemy rozpisać układ równań:
x+y = 5050
x-y=2345
Dodając równania stronami otrzymujemy:
2x = 7395 i otrzymujemy sprzeczność, gdzie po lewej stronie mamy liczbę parzystą a po prawej nieparzystą. To dowodzi, iż nie da się tak ustalić minusów.
Koniec dowodu.

kapi

nie da się osiągnąć sumy