rezashiri گفت
Goharshady گفت
[center:52cb14320a]=>M<=[/center:52cb14320a]
این سوال:
http://www.codeforces.com/contest/9/problem/C
ترجمه:
یک n به شما داده می شود. شما باید تعداد اعداد بین ۱ تا n که ارقام آنها فقط ۰ و ۱ است را به دست بیاورید
زمان: ۱ ثانیه
مموری: ۶۴ مگابایت
ورودی و خروجی استاندارد
n بین ۱ تا ۱۰ به توان ۹ است
مثال:
ورودی :
۱۰
خروجی:
۲
توضیح : پاسخها ۱ و ۱۰ هستند.
پی نوشت: آقای بیباک شما کجا هستید؟ اون سوال B رو چیکار کنیم؟ بر اساس ترجمه ی شما حل کنیم؟
این سوال:
http://www.codeforces.com/contest/9/problem/C
ترجمه:
یک n به شما داده می شود. شما باید تعداد اعداد بین ۱ تا n که ارقام آنها فقط ۰ و ۱ است را به دست بیاورید
زمان: ۱ ثانیه
مموری: ۶۴ مگابایت
ورودی و خروجی استاندارد
n بین ۱ تا ۱۰ به توان ۹ است
مثال:
ورودی :
۱۰
خروجی:
۲
توضیح : پاسخها ۱ و ۱۰ هستند.
پی نوشت: آقای بیباک شما کجا هستید؟ اون سوال B رو چیکار کنیم؟ بر اساس ترجمه ی شما حل کنیم؟

http://snipt.net/rezashiri/contest-9-c
[center:52cb14320a]
[/center:52cb14320a]چه كد عجيبي نوشتي !!!!!چه حوصله اي داريد ها .... !!!!!!



اينم كد من :
کد
#include <iostream>
#include <conio.h>
using namespace std;
int po( int x, int y)
{
int ans=1;
for( int i=1;i<=y;i++)
ans*=x;
return ans;
}
int t(int m)
{
int t=0;
while(m>0)
{
t++;
m/=10;
}
return t;
}
int f( int k)
{
while(k>0)
{
int flag=0;
if(k%10==1||k%10==0)
flag=1;
if(flag==0)
return 0;
k/=10;
}
return 1;
}
int main()
{
int count=0,n,g;
cin>>n;
g=n/po(10,t(n)-1);
if(g>1)
cout<<po(2,t(n))-1;
else
{
for(int i=po(10,t(n)-1);i<=n;i++)
if(f(i))
count++;
cout<<po(2,t(n)-1)+count-1;
}
getch();
return 0;
}