matematykaszkolna.pl
C++ podstawy Kubma: Mam za zadanie napisac program, ktory wykorzystujac petle odpowie mi na pytanie ile jest liczb trzycyfrowych dodatnich ktorych suma cyfr jest rowna liczbie x podanej przez uzytkownika. Jakies pomysly? Moja petla ma postac for(int i=100;i<=999;i++). W petli chcialem odpowiednio zapisac sumy tylko nie mam pojecia jak to zrobic i w ktorym miejscu wstawic if ktory sprawdzi czy suma tych cyfr jest rowna x. Pomocy 🙁🙁
2 sty 22:44
Basia: a=cyfra setek = część całkowita x/100 b=cyfra dziesiątek = część całkowita (x−a*100)/10 c=cyfra jedności = x−a*100−b*10 nie pamiętam czy w C++ masz gotową funkcję wykonującą dzielenie całkowite jeżeli nie masz musisz sam sobie taką napisać
2 sty 22:58
Basia: moje x to co innego niż ta liczba podana przez użytkownika to kolejno 100,101,....,999
2 sty 22:59
jc: a może potrójna pętla? int licznik = 0; for(int i=0; i<10; i++) for(j=0;j<10;j++) for(int k=1; k<10;k++) if(i+j+k==x) licznik ++;
2 sty 23:11
Basia: też można; Twoja liczba w zapisie pozycyjnym to kjm tak czy siak "przelatujesz" 900 liczb zastanawiam się czy można bardziej optymalnie, ale to już nie teraz
2 sty 23:20
Basia: a nie, w potrójnej jest optymalniej chyba; tylko 300 ineracji
2 sty 23:22
Basia: iteracji emotka
2 sty 23:23
Basia : Głupotę napisałam. To też 900 iteracji ale znacznie prostszych. Zostań przy tym pomyśle pętli potrójnej. No chyba, że jeszcze coś lepszego wymyślisz. Tylko nic na siłę. A to jest dobre 😊
2 sty 23:38
Pytający: Basiu, w C++ "/" to właśnie dzielenie całkowite (o ile argumenty są całkowitoliczbowe), a "%" to dzielenie modulo, np.: 5/2=2 5%2=1 x // dana liczba x%10 // cyfra jedności (x/10)%10 // cyfra dziesiątek (x/100)%10 // cyfra setek
2 sty 23:53
Basia : Jak jest to można używać, ale ta pętla potrójna, którą jc proponuje bardziej mi się podoba. Wydaje mi się bardziej optymalna dlatego właśnie, że nie trzeba funkcji dzielenia używać. Tak na rozum i znajomość zasad ogólnych (bo C++ w ogóle nie znam).
3 sty 00:30
3 sty 20:31