infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Dragu Mircea din Octombrie 05, 2011, 18:19:05



Titlul: Carte
Scris de: Dragu Mircea din Octombrie 05, 2011, 18:19:05
Salut. Am nevoie de cateva sfaturi pentru urmatoarele doua probleme.

1. Marinica a scris o carte cu care se lauda mereu. La un moment dat, un prieten de-al sau il intreaba de cate ori apare cifra x (0<=x<=9) in numerotarea paginilor.
Cartea are n pagini, 1<n<=10.000; numerotarea paginilor incepe cu 1.

#include<stdio.h>
void main()
{
    int x, n, i, nr_1=0, nr_2=0;
    printf("\n Dati numarul de pagini n = ");
    scanf("%d", &n);
    printf("\n Numarul cautat x = ");
    scanf("%d", &x);
    for(i=1; i<=n; i++)
    if(n%i==x)
    nr_1++;
    if(n/i==x)
    nr_2++;
    printf("\n Cifra %d apare in numerotarea paginilor de %d ori.\n", x, nr_1+nr_2);
}

2. Determinati toate numerele care au proprietatea ca impartind pe 80, 134 sau 152 la unul dintre ele, se obtine acelasi rest, diferit de zero.

#include<stdio.h>
void main()
{
    int i;
    printf("\n Introduceti un numar i = ");
    scanf("%d", &i);
    for(i=1; i<=152; i++)
    {

    }
}

exemplu : 80:6=13 rest 2; 134:6=22 rest 2; 152:6=25 rest 2.


Titlul: Răspuns: Carte
Scris de: Alex Ovidiu Nitu din Octombrie 05, 2011, 22:58:21
Salut! Nu stiu ce procedeu ai aplicat la problema 1, dar eu as rezolva problema astfel:
Cod:
#include<iostream>
#include<stdio.h>
int  main(void)
{
    int x, n, i, nr=0, nrx=0,c;
    printf("\n Dati numarul de pagini n = ");
    scanf("%d", &n);
    printf("\n Numarul cautat x = ");
    scanf("%d", &x);
    for(i=1; i<=n; i++)
    {
nr=i;// folosesc nr pentru a nu modifica pe i
while (nr)
{
c=nr%10;// parcurgem fiecare cifra a numarului
if (c==x)// verificam daca cifra curenta este egala cu cifra initiala -x
nrx++; // daca gasim cifra incrementam numarul de aparitii
nr=nr/10;
}
}
    printf("\n Cifra %d apare in numerotarea paginilor de %d ori.\n", x, nrx);
}

P.S Ce clasa esti ?


Titlul: Răspuns: Carte
Scris de: Dragu Mircea din Octombrie 07, 2011, 17:55:47
Multumesc pentru raspuns, intre timp reusisem.
Probabil ti-ai dat seama ca sunt incepator - clasa (.
Respect.