اگه میشه یه الگوریتم بدید که یک عدد رو بگیره و مشخص کنه این عدد چند رقمی هست.
Printable View
اگه میشه یه الگوریتم بدید که یک عدد رو بگیره و مشخص کنه این عدد چند رقمی هست.
سلام ، دوست عزیز ، برای اینکار 3 راه وجود داره !!!!
1) روش بازگشتی 2) یک فرمول ریاضی 3) روش حلقه های تکرار
===============================================
1) روش بازگشت : این روش میگه که ، تعداد ارقام هر عدد برابر است با ، تعداد ارقام خارج
قسمت تقسیم آن عدد بر 10 به علاوه یک !!
کد سی پلاس پلاس :
int tedad(int n){
if(n<10)
return 1;
else
return 1+tedad(n/10);
}
===============================================
2) فرمول ریاضی : یک فرمول ریاضی برای تعداد ارقام وجود داره :
http://i38.tinypic.com/ml08ib.jpg
# include <iostream>
# include <conio>
# include <math>
int main()
{
int k,a;
cin>>k;
a=floor(log(k)/log(10))+1;
cout<<a;
getch();
}
================================================
3- روش حلقه های تکرار :
#include <iostream>
#include <conio>
int main(){
int n,k=0;
cin>>n;
while(n!=0){
n/=10;
k++;
}
cout<<k;
getch();
}
===============
موفق و پیروز باشید !!!!
خیلی ممنون از توضیح کامل و مفیدتون.
ولی در روش سوم کدی که داخل while نوشتین اشتباه نیست؟
من متوجه نشدم n/=10 یعنی چی؟
يعني:نقل قول:
من متوجه نشدم n/=10 یعنی چی؟
n:= n /10;
سلام دوست عزیز خسته نباشید میتوانید همین مسئله را با زبان #C کد نویسی و پیاده سازی کنید؟ ممنون:قلب::قلب:
استاد میشه این کد را به ربان پایتون بنویسید.