【codeforces】CF9C Hexadecimal's Numbers (题解)

CF9C Hexadecimal's Numbers


せむすけヌ

题解:

#include<iostream>
#include<cstdio>
using namespace std;
int a[100],ans,n;
int pow_(int a,int b)
{
	int s=1;
	for(int i=1; i<=b; i++) s*=a;
	return s;
}
int main()
{
	scanf("%d",&n);
	for(a[1]=0; a[1]<=1; a[1]++)
	{
		for(a[2]=0; a[2]<=1; a[2]++)
		{
			for(a[3]=0; a[3]<=1; a[3]++)
			{
				for(a[4]=0; a[4]<=1; a[4]++)
				{
					for(a[5]=0; a[5]<=1; a[5]++)
					{
						for(a[6]=0; a[6]<=1; a[6]++)
						{
							for(a[7]=0; a[7]<=1; a[7]++)
							{
								for(a[8]=0; a[8]<=1; a[8]++)
								{
									for(a[9]=0; a[9]<=1; a[9]++)
									{
										for(a[10]=0; a[10]<=1; a[10]++)
										{
											int s=0;
											for(int i=1; i<=10; i++)
											{
												s+=a[i]*pow_(10,10-i);
											}
											if(s>=1&&s<=n)
											{
												ans++;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	printf("%d",ans);
	return 0;
}
原文地址:https://www.cnblogs.com/BorisDimitri/p/13546623.html