Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 27. 09. 2013 20:10 — Editoval BakyX (27. 09. 2013 20:14)

BakyX
Cat Lover & S.O.A.D. Lover
Příspěvky: 3416
Škola: UPJŠ
Pozice: Študent
Reputace:   158 
 

Funkcia pre počet výskytov cifry v cifernom zápise čísla

Dobrý deň. Môj pokus:

#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;

int p(int n,int i)
{
    int r,q=0;
    while(n>0)
    {
        r=n%10;
        if (r==i)
            {
                q=q+1;
            }
        n=n/10;
    }
    return q;
}

int main()
{
    int n;
    cin >> n;
    cout << p(n,6) << endl;
    system("pause");
    return 0;
}

Keď zadám 666, tak v pohode vráti 3. Dokonca aj pre 666 666 666 mi to hodí 9. Lenže keď už je 6-tiek aspoň 10, tak to nezmyselne hádže nulu. A čo je fakt paradoxné, pre 10 6-tiek hádže p(n,4)=1. Fakt to nechápem.


1^6 - 2^6 + 3^6 = 666

Offline

 

#2 27. 09. 2013 20:27

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 898
Reputace:   63 
 

Re: Funkcia pre počet výskytov cifry v cifernom zápise čísla

Zdravím,
a nemá typ int nejvyšší hodnotu 2147483648?


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson