C++ zadania

Czy mógłby ktoś pomóc z tymi zadaniami?

C++

.1.Napisz program, który dla wczytanej z klawiatury liczby n wypisuje na ekranie wszystkie liczby z przedziału 1…n podzielne przez 7 których ostatnia cyfra to 1

2.Napisz program, który wczytuje z klawiatury poprawny numer miesiąca, tzn. liczbę z przedziału <1,12> . Zakładamy, że możliwe są tylko 3 próby podania poprawnego numeru

  1. Napisz program, który wczytuje z klawiatury liczby rzeczywiste aż do momentu, gdy podana liczba jest równa zero, a następnie wyświetla na ekranie sumę i średnią arytmetyczną tych liczb.

Jaka stawka?

1 polubienie

W którym miejscu utknąłeś?

Ad. 1

ex1

powiem tak można to zoptymalizować :slight_smile:
Patrząc z punktu matematycznego wiemy, że tylko iloczyn 7 i 3 dla liczb poniżej 10 da liczbe podzilną przez 7 która kończy się na 1. Stąd wszystkie liczby 7*3+7*n*10 będą spełniały warunek do punktu pierwszego. Stąd

for(int i = 3; i*7 <= to; i=i+10){
}

Oczywiście do tego musisz jeszcze dodać weryfikacje czy osoba wprowadza liczbę oraz przypadek dla liczb ujemnych.

Dla Ad 2
Jak rozumiesz 1 to to jest jeszcze prostsze

Ad 3 jest w pewien sposób podobna do 2
tutaj za podpowiedź masz dwie rodzaje pętli które możesz wykorzystać for i …

Dzięki wszystkim za pomoc! Jestem w tym nowy i niektóre z tych rzeczy to dla mnie czarna magia :DD

at punkt 1…
sam napisales, ze wiadomo, ze tylko 21+70n spelnia zalozenie, po co wiec puste przebiegi?

if (to < 21) return “no result”

for (int i = 21; i < to; i += 70){
cout << i
}

Temat odgrzebany po miesiącu ale ok…

Zgaduje, że chodzi ci o dodatkowe operacje w pętli, bo pustych przebiegów nie ma.

i_1 -> 3*7=21
i_2 -> 13*7=91
i_3 -> 23*7=161
itd.

a sposób zapisu (dodatkowe operacje), że 3*7 zamiast 21 oraz 10*7 zamiast 70 aby kod był zrozumiały dla osoby która pyta, bo osoba robiąca zadanie może nie ogarnąć od razu wartości podanych lub mogą mu nie uznać takiej odpowiedzi jako, że jak zbyt uprościsz to już przestajesz sprawdzać znajomość w tym wypadku pętli a zaczynasz matematyki.

dwa swiateczne tygodnie to jeszcze nie miesiac…
:wink:

a z reszta racja, ale chyba ty wszedles glebiej w matematyke niz ja. imo to mnozenie jest ciezsze niz dodawanie. A w ciele operacji bedziesz musial te operacje powtorzyc, aby uzyskac wynik.