数列求值
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
给定数列 1, 1, 1, 3, 5, 9, 17,从第 4 项开始,每项都是前 3 项的和。
求第20190324 项的最后 4 位数字。
#include <iostream> using namespace std; long long a[20190324]={0};/*必须全局变量 因为数组定义在main函数中 占用的内存来自栈 而栈有固定的大小 造成栈的溢出 而全局变量是在静态存储区内分配内存*/ int main() { // 请在此输入您的代码 a[0]=0;a[1]=a[2]=a[3]=1;a[4]=3; for(int i=5;i<=20190324;i++) { a[i]=(a[i-1]+a[i-2]+a[i-3])%10000; //题目要求只要后四位 为了不越界 只对后四位进行运算 } cout<<a[20190324]; return 0; }
数的分解 40785 我爱这题目
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?
注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。
#include<iostream> using namespace std; bool f(int n) { while(n) { int a=n%10; if(a==2||a==4) { return false; } n/=10; } return true; } int main() { int ans=0; for(int i=1;i<2019;i++) { if(f(i)!=false) { for(int j=i+1;j<2019;j++) { if(f(j)!=false) { for(int n=j+1;n<2019;n++) { if(f(n)==true&&i+j+n==2019) { ans++; } } } } } } cout<<ans; return 0; }