Hilfe die sechste :-)
-
Helium schrieb:
Gesucht ist die Summe der Zahlen 1 bis 100.
5050. das weiß man auswendig.
Tut man das? Ich weiß es nicht. Aber moment ... 100*101/2 = 5050, ja stimmt.
Deine Formel ist falsch, der liebe Euler hat uns beigebracht das 1+100=101 -> 101*50=5050 ist

MfG SideWinder
-
@SideWinder: Ich glaube, das hier war gemeint.
-
SideWinder schrieb:
Helium schrieb:
Gesucht ist die Summe der Zahlen 1 bis 100.
5050. das weiß man auswendig.
Tut man das? Ich weiß es nicht. Aber moment ... 100*101/2 = 5050, ja stimmt.
Deine Formel ist falsch, der liebe Euler hat uns beigebracht das 1+100=101 -> 101*50=5050 ist

Was steht denn bei mir? n*(n+1)/2. Ob du nun erst 100 * 101 rechnest und dann durch zwei teilst, oder erst die 100 durch zwei teilst und dann mit 101 multiplizierst ist scheißegal.
-
Visual Newbie schrieb:
Gesucht ist die Summe der Zahlen 1 bis 100.
die 5050 kann man auch so ausgeben:
int summe=0; for(int i=1;i<=100;++i) summe+=zahl; cout<<summe<<'\n';
-
oder, wenn du deinen Lehrer verblüffen willst:
#include <iostream> using namespace std; template<int n> int summeVon1Bis(){return n + summeVon1Bis<n-1>();} template<> int summeVon1Bis<1>(){return 1;} int main() { cout << summeVon1Bis<100>() << endl; cin.get(); }
-
schorsch code schrieb:
oder, wenn du deinen Lehrer verblüffen willst:
#include <iostream> using namespace std; template<int n> int summeVon1Bis(){return n + summeVon1Bis<n-1>();} template<> int summeVon1Bis<1>(){return 1;} int main() { cout << summeVon1Bis<100>() << endl; cin.get(); }da bürdest du dem optimierer aber einiges auf.
sollte man sich nicht lieber auf die sichere seite stellen mittemplate<> struct SummeVon1Bis<n>{ static int const value=SummeVon1Bis<n-1>::value+n; };?
-
wenn wir schon bei WTFs sind, darf eine version mit standard algorithmen nicht fehlen:
#include <algorithm> #include <iterator> #include <iostream> struct Niterator { typedef bidirectional_iterator_tag iterator_category; typedef int value_type; typedef int& reference; Niterator(int n=0):n(n) {} int& operator*() { return n; } const int& operator*() { return n; } Niterator& operator++() { ++n; return *this; } Niterator operator++() { Niterator x(n); ++*this; return x; } Niterator& operator--() { --n; return *this; } Niterator operator--() { Niterator x(n); --*this; return x; } int n; }; bool operator==(const Niterator& lhs, const Niterator& rhs) { return lhs.n==rhs.n;} bool operator!=(const Niterator& lhs, const Niterator& rhs) { return !(lhs==rhs);} int main() { std::cout << std::accumulate(Niterator(1),Niterator(100),0); }
-
Sicher das es ein WTF ist? Für mich ist es Abstraktion.
-
Probiert ihr die Programme auch, bevor ihr die reinstellt? Das funktioniert gar nich... oder womit programmiert ihr? Ich hab Visual 6.0
Und das erste Programm gibt gar nix aus...???!!!
-
kommt irgendwie dem längsten hallo world nah..
he, newbie, soviel hilfe, und du willst wirklich rein garnix selber denken?
-
Visual Newbie schrieb:
Und das erste Programm gibt gar nix aus...???!!!
wenn du damit mein
int summe=0; for(int i=1;i<=100;++i) summe+=zahl; cout<<summe<<'\n';meinst, dann stimmt das wohl. das war nur sozusagen der kern. die sachen, die man immer macht, also main() und using namespace und include mußte nur drumherumschreiben.
-
Eigentlich eine Frechheit, dass du dir sowas dem guten Newbie gegenüber erlaubst, am Ende muss der noch mitdenken.
-
Insolence schrieb:
Eigentlich eine Frechheit, dass du dir sowas dem guten Newbie gegenüber erlaubst, am Ende muss der noch mitdenken.
wie ich eben erfahren habe, ist er http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18316.html Azubi SE
als solcher muß er, ähm, deutlich besser am ball bleiben, als wie als schüler.