for (d=1;d<=9;d++)
for (e=1;e<=9;e++)
if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e&&((a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e))) }
算法实现:
n++;
printf(\
10.高斯日记
大数学家高斯有个好习惯:无论如何都要记日记。
他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。
在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。
高斯获得博士学位的那天日记上标着:8113
请你算出高斯获得博士学位的年月日。 算法分析:
11
#include \main() { int x=1777,y=4,z=30,i,j,a,b,c,d,n,o; scanf(\
a=n/1461;b=n61;c=b/365;d=b65; x+=a*4;
for(j=0;j if (x%4==0&&x0!=0||x@0==0) d-=1; } z+=d; o=(x-1777)/100;z-=o; z-=1; for (i=1;i<=12;i++) { if ((y==1||y==3||y==5||y==7||y==8||y==10||y==12)&&z>=31) {y+=1;z-=31;} if ((y==4||y==6||y==9||y==11)&&z>=30) {y+=1;z-=30;} if (y==2&&(x%4==0&&x0!=0||x@0==0)&&z>=29) {y+=1;z-=29;} if (y==2&&(x%4!=0||x0==0)&&z>=28) {y+=1;z-=28;} } printf(\年%d月%d日\\n\ } 算法实现: 12 11.第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。 算法分析: #include void fun(int stair,int step) { //stari用于表示剩余的楼梯的层数,当等于0时停止递归 //step是走过的步数,用来判断是否是偶数,是否符合要求 if(stair<0)return; if(stair==0) //39节楼梯全部走完 { if(step%2 == 0)count++; return; } fun(stair-1,step+1); //这一步走了一个台阶 fun(stair-2,step+1); //这一步走了两个台阶 } int main() 13 { fun(39,0); printf(\ return 0; } 算法实现: 14