初學acmer--《演算法競賽經典入門》第二章2.5 習題自己的解答

vaeloverforever發表於2017-07-27

2-1 水仙花數

#include<stdio.h>
int Judge(int n);
int main()
{
	int flag=0;
	for(int i=100;i<1000;i++)
	{
		if(Judge(i)) 
		{
			if(flag++)
			printf("\n");
			printf("%d",i);
		}
	} 
	 return 0;
}
int Judge(int n)
{
	int a=n/100;
	int b=(n%100)/10;
	int c=n%10;
//	printf("i:%d %d %d %d\n",n,a,b,c);
	if(n==a*a*a+b*b*b+c*c*c)
	return 1;
	else return 0;
}
2-2 韓信點兵

#include<stdio.h>
int main() 
{
	int a,b,c,d=0;
	while(scanf("%d%d%d",&a,&b,&c)!=EOF)
	{
		int k=0;
		for(int i=10;i<101;i++)
		{
			if((i-a)%3==0&&(i-b)%5==0&&(i-c)%7==0)
			{
				if(d)
				printf("\n");
			printf("Case %d:%d",++d,i);
			k++;
			}
		}
		if(k==0)
		{
               if(d)
				printf("\n");
		    printf("Case %d:No answer",++d);
		}			
	}
	return 0;
}
2-3 倒三角形

#include<stdio.h>
int main()
{
	int n,k=0;
	do
	{
	scanf("%d",&n);
	}while(n>20);
	for(int i=0;i<n;i++)
     {
     	if(k++)
     	printf("\n");
     	for(int j=0;j<i;j++)
     	{
	     	printf(" ");
	     }
	     for(int j=0;j<2*(n-i)-1;j++)
	     {
     		printf("#");
     	}
     }
     return 0;
}



相關文章