问题描述:梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法。
敲的代码如下:请大家给点意见
-
- #include<stdio.h>
- #include<stdlib.h>
- int judge(int n);
- int main (int argc, char **argv)
- {
- int l,m,n,p,q;
- for(l=123;l<=329;l++)
- {
- m=2*l,n=3*l;
- p=l*1000+m,q=p*1000+n;
- if(judge(q)==0)
- //判断l、m、n是否符合要求。如果不符合就跳出本次循环,进入下次循环
- continue;
- printf("%d,%d,%d\n",l,m,n);
- }
- system("PAUSE");
- return 0;
- }
- int judge(int n)
- {//用于判断整数n的各位数字是否相同,如果有想同的就返回0;否则返回1
- int num[10],i,j,len=0,temp=n;
- do
- {
- ++len;
- temp=temp/10;
- }while(temp);//求出n的位数
- for(i=1;i<=len;i++)
- {//将n的各位数字存入num[],并判断是否存在0及相同的数字,如果存在就返回0
- if((num=n%10)==0)
- return 0;
- n=n/10;
- for(j=1;j<i;j++)
- if(num[j]==num)
- return 0;
- }
- return 1;
- }
复制代码
|
|