Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

allman

C# suma cyfr liczby

Polecane posty

Potrzebna mi jest funkcja która oblicza sumę cyfr liczby wpisanej przez użytkownika.

Powiedzmy, że wpiszę 372, a otrzymam 12.

Potrzebne mi to do zrobienia tego:

Napisz program wyznaczający sumę n początkowych liczb, których suma cyfr wynosi ... (podaje użytkownik). Liczbę n należy pobrać od użytkownika.

Link do komentarza
Udostępnij na innych stronach

Myślałem o zrobieniu 2 tablic; zwykłej i 2 wymiarowej i zapisywaniu liczb od 1 do n w tych tablicach, z tym że w tej 2 wymiarowej były by one zapisane cyfra po cyfrze. Potem już tylko pętlami by się to porównywało i zwiększało wartość sumy.

Ale może da się prościej?

Link do komentarza
Udostępnij na innych stronach

Nie wiem jeszcze tylko, czy dobrze rozumiem polecenie: Wśród n początkowych liczb, program ma znaleźć te o określonej sumie cyfr i je do siebie dodać, tak?

Bo zastanawiam się czy nie chodzi o to, że program ma dodawać po kolei liczby których suma cyfr wynosi x, do puki nie zrobi tego n razy.

Link do komentarza
Udostępnij na innych stronach

Jak dla mnie - polecenie rozumiesz źle. Choć też przyznam, że sformułowane jest w sposób dowodzący niebanalnej wiedzy o konstrukcji logicznych zdań w języku polskim. To jak ja je rozumiem to:

Użytkownik podaje z klawiatury liczbę n oznaczającą ilu liczb szukamy. Następnie podaje z klawiatury liczbę m, która oznacza pożądaną sumę cyfr. Następnie musisz wypisać sumę n jak najmniejszych liczb o sumie cyfr równej m.

Dla n=2 m=10 liczby={19,28}. Na ekran wyrzuć sumę, czyli 19+28=47

Dla n=6 m=4 liczby={4,13,22,31,40,130}. Na ekran 4+13+22+31+40+130=240

Pomyśl nad algorytmem i napisz go tu, a będziemy Ci mogli doradzić, czy da się go jakoś uprościć.

Link do komentarza
Udostępnij na innych stronach

Choć też przyznam, że sformułowane jest w sposób dowodzący niebanalnej wiedzy o konstrukcji logicznych zdań w języku polskim.

Treść polecenia feat. WEEIA Politechniki łódzkiejTM!

@EDIT:

Ok, w związku z tym, że moi kumple z grupy upierają się przy tej, zdaniem t3trisa, niepoprawnej wersji polecenia, a ja w międzyczasie napisałem już działający program z użyciem modulo, to jutro poświęcę się i napiszę 2gą wersję, tym razem z działającą tak jak mówi t3tris, z zastosowaniem tego co napisał wies.niak. Strzeżonego Pan Bóg strzeże biggrin_prosty.gif

@EDIT2:

Nie rozumiem jak to ma działać wies.niak sad_prosty.gif My dopiero mieliśmy powiedziane, że istnieją takie funkcje jak atoi, atol

Myślę, jak to wykorzystać.


char tab[ ];
gets(tab);//wpisuje 1200//
atoi(tab); //da mi 49 50 48 48? Jak mniemam kody ascii.//

@EDIT3:

Podam przykład programu jaki dostaliśmy na wykładzie:


char tekst [20];
int n,s;
printf("podaj liczbe n: ");
gets(tekst);
n=atoi(tekst);
if (n!=0)
{
s=n*(n+1)/2;
printf("Suma liczb całkowitych od 1 do %d wynosi: %d\n",n,s);
} else printf("wpisano bledne dane\n");
getchar();
return0;

Tylko nie rozumiem na jakiej zasadzie to działa sad_prosty.gif

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...