解题思路:
注意事项:
参考代码:
#include<iostream> using namespace std; int main() { int n,k,a0,a1,i;//n表示位数,k表示进制 cin>>n; cin>>k; a0=1;a1=k-1; for(i=2;i<=n;i++) { int last1=a1; a1=(k-1)*(a1+a0); a0=last1; } cout<<a1; return 0; } /* 这种方法会超时 int a[16]; int count; int judge(int n) { int sign=1; for(int i=1;i<n-1;i++) { if(a[i]==0&&a[i+1]==0) { sign=0; break; } } return sign; } void dfs(int n,int k,int i)//n表示位数,k表示进制,i表示当前位置 { int x=0; if(i==n) { if(judge(n)) count++; return; } if(i==0) x=1; for(x;x<k;x++) { a[i]=x; dfs(n,k,i+1); } return; } int main() { int n,k;//n表示位数,k表示进制 cin>>n; cin>>k; dfs(n,k,0); cout<<count; return 0; } */
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:934 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:826 |
幸运数 (C++代码)浏览:2982 |
C二级辅导-分段函数 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题8.1 (C++代码)浏览:612 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:527 |
简单的a+b (C语言代码)浏览:263 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:481 |