Baxtli chipta yohud Avtobusda ham matematika!

Baxtli chipta yohud Avtobusda ham matematika!

Ko`pincha avtobusga chiqqanimda qo`limga konduktor chipta berib ketadi…Shu chiptani olayotgan paytimda sekin raqamlariga qarayman, agar baxtli chiqib qolsa bormi xursand bo`lib o`zimga o`zim kuch bag`ishlayman.
Shunday qilib men sizlarga 8 xonalik sonlar ichida shu omadli chipta necha kishini xursand qilar ekan deb ularni C/C++ tilida sanab chiqdim…

Dasturlashni endi o`rganayotganlarning aksariyatini aytmaganda ko`pchiligi acm.timus.ru saytiga kirmaganlari bo`lmasa kerak. Men «OPPENNET»da ushbu saytdagi yohud avtobusdagi meni xursand qiladigan chiptalar uchun o`ylab topilgan masalani ishlab ko`rsatmoqchiman.

Omadli chipta

Avvalo o`zgaruvchilarni e`lon qilib olamiz.


int n,RemNumber,LTicket=0;
int t=0,count;

n => » Necha xonalik sonlar»
n=2 bo`lsa, demak 99, n=3 bo`lsa, demak 999 va hakozo…

So`ngra chipta omadli yoki omadsiz ekanligini tekshirish uchun bizning chipta juft xonali bo`lishi kerak bo`ladi.
shu sababdan juft xonali ekanligini tekshiramiz:


if(n%2==0) {
                 switch(n)
                          {
                            case 2:
                                 count = 99;
                                 break;
                            case 4:
                                 count = 9999;
                                 break;
                            case 6:
                                 count = 999999;
                                 break;
                            case 8:
                                 count = 99999999;
                                 break;
                            default:
                                 cout

Keyingi qadamda biz siklda o`zlashtirilgan har bir sonni bir o`zgaruvchiga tenglab uni raqamlarini massivga yig`ib boramiz va massivning har bir indeks ostidagi raqamlardan foydalanib chipta sonini ikki bo`lakka ajratib olamiz hamda bo`laklardagi raqamlarni qo`shib ularni teng yoki teng emasligini tekshiramiz.Agar teng bo`lsa demak chiptamiz omadli 🙂 va shu omadli chiptani sanab boramiz…


for( int i = 0; i >> 2 
                     RemNumber=RemNumber/10; // butun qismni o`zlashtiradi >>> 23690
             }
             while(RemNumber>0);
             
             if(n==2 && a[1] ==a[2]) LTicket++; 
             if(n==4 && a[1] + a[2] ==a[3] + a[4])LTicket++; 
             if(n==6 && a[1] + a[2] + a[3] ==a[4] + a[5] + a[6]) LTicket++;
             if(n==8 && a[1] + a[2] + a[3] + a[4] ==a[5] + a[6] + a[7] + a[8]) LTicket++;                
        }

Dastur to`liq kodi:


#include 
#include 
long int a[99999999];
using namespace std;
int main()
{
    int n,RemNumber,LTicket=0;
    int t=0,count;
    cin>>n;
    if(n%2==0) {
                 switch(n)
                          {
                            case 2:
                                 count = 99;
                                 break;
                            case 4:
                                 count = 9999;
                                 break;
                            case 6:
                                 count = 999999;
                                 break;
                            case 8:
                                 count = 99999999;
                                 break;
                            default:
                                 cout>> 2 
                     RemNumber=RemNumber/10; // butun qismni o`zlashtiradi >>> 23690
             }
             while(RemNumber>0);
             
             if(n==2 && a[1] ==a[2]) LTicket++; 
             if(n==4 && a[1] + a[2] ==a[3] + a[4])LTicket++; 
             if(n==6 && a[1] + a[2] + a[3] ==a[4] + a[5] + a[6]) LTicket++;
             if(n==8 && a[1] + a[2] + a[3] + a[4] ==a[5] + a[6] + a[7] + a[8]) LTicket++;                
        }
        cout 

Maqolam so`ngida shuni aytmoqchi edimki ushbu masalani har xil usulda ishlash mumkin, men esa boshlovchi dasturchilarga yordam bo`lsin deb batafsilroq yozishga harakat qildim)))

Texnologiyalar
Baxtli chipta yohud Avtobusda ham matematika!