解题思路:
注意事项:
参考代码:
/* even[i]:表示i位数中偶数个3的个数 odd[i]:表示i位数中奇数个3的个数 1、末位为3的情况: even[i] = odd[i - 1] odd[i] = even[i - 1] 2、末位非3的情况 even[i] = even[i - 1] * 9; odd[i] = odd[i - 1] * 9; 综上: even[i] = even[i - 1] * 9 + odd[i - 1] odd[i] = odd[i - 1] * 9 + even[i - 1] */ #include <iostream> using namespace std; const int Mod = 12345; int n; int even[1005], odd[1005]; int main() { cin >> n; even[1] = 8, odd[1] = 1; for (int i = 2; i <= n; ++i) { even[i] = (even[i - 1] * 9 + odd[i - 1]) % Mod; odd[i] = (odd[i - 1] * 9 + even[i - 1]) % Mod; } cout << even[n] << endl; return 0; }
0.0分
31 人评分
C语言训练-邮票组合问题* (C语言代码)......浏览:644 |
输出九九乘法表 (C语言代码)浏览:554 |
川哥的吩咐 (C语言代码)浏览:867 |
校门外的树 (C语言代码)浏览:955 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:643 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:484 |
数组与指针的问题浏览:715 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:565 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:584 |
买不到的数目 (C语言代码)浏览:3087 |