Informatică, întrebare adresată de ilincarozina, 9 ani în urmă

Imi poate rezolva si mie cineva o problema ?
Se considera sirul cifrelor de la 0 la 9. Sa se genereze toate numerele de n cifre (n<10) care contin trei cifre pare sau trei cifre impare alaturate. Fiecare numar se scrie in fisier pe cate un rand.

Răspunsuri la întrebare

Răspuns de MichaelKing
1
Mai ramane sa inlocuiesti scrirea rezultatelor pe ecran cu cea in fisierul cu numele...

#include <iostream>
using namespace std;
int st[10], n;
int f(int st[], int n){    int a, b, c;    a=st[n];    b=st[n-1];    for (int i=n-2; i>=1; i--)    {        c=st[i]%10;        if(a%2==b%2 && b%2==c%2)            return 1;        a=b;        b=c;    }    return 0;}
void bkt(int st[], int k){    if(k==n+1)    {        if(st[1]>0 && f(st, n))        {            for(int i=1; i<=n; i++)                cout<<st[i];            cout<<endl;        }    }    else        for(int i=0;i<=9;i++)        {            st[k]=i;            bkt(st, k+1);        }}
int main(){    cin>>n;    bkt(st, 1);    return 0;}

MichaelKing: Se poate rezolva si fara backtracking!
Alte întrebări interesante