بیایید سعی کنیم برنامه ای برای حل مشکل زیر بنویسیم:
شما باید عددی را وارد کنید (بگذارید کمتر از 3,000,000 باشد و تعداد ارقام آن را تعیین کنید.
ایده راه حل
فقط باید آخرین رقم را به ترتیب از عدد جدا کنیم (این کار را می توان با کاهش عدد 10 برابر، با استفاده از تقسیم عدد صحیح بر 10 انجام داد)، و هر بار باید شمارنده را افزایش دهیم.
در نتیجه بعد از اینکه همه اعداد را قطع کردیم، در شمارنده تعداد ارقام عدد را بدست می آوریم.
به روشی دیگر، الگوریتم را می توان به صورت زیر فرموله کرد:
تا زمانی که عدد صفر نباشد، آن را 10 بار کاهش دهید و شمارنده را 1 افزایش دهید.
<سر>
شماره (n) |
counter |
<بدن>
123 |
0 |
12 |
1 |
1 |
2 |
0 |
3 |
برنامه به این شکل خواهد بود.
<پیش>
#include<iostream>
با استفاده از namespace std.
main()
{
intn, count;
cin>> n
تعداد = 0;
در حالی که (n != 0)
{
count++;
n = n / 10;
}
cout << "تعداد-" <<n<< " حاوی " << شمارش << " ارقام";
}
شما باید این برنامه را از روی قلب بدانید، زیرا. بر اساس آن، بسیاری از مشکلات دیگر مربوط به محاسبه اعداد با ارقام حل می شود.