#include<bits/stdc++.h> using namespace std; double a[71]; int main(){ int n; a[1]=1; a[2]=2; a[3]=4; for(int i=4;i<=71;i++){ a[i]=a[i-1]+a[i-2]+a[i-3]; } while(cin>>n){ if(n!=0){ cout<<a[n]<<endl; } } return 0; }
#include <bits/stdc++.h> using namespace std; long long n, a[101] = { 1, 2, 4 }; int main() { for (int i = 3; i < 71; i++) { a[i] = a[i - 1] + a[i - 2] + a[i - 3]; } while (cin >> n && n != 0) { cout << a[n - 1] << endl; } return 0; }
👍
如果n==0,那么就break或者直接return 0
没有开long long
double精度不够 换个定义类型吧
换了方式也一直说不对???是哪里出错了啊
共 8 条回复
#include <bits/stdc++.h> using namespace std; long long n, a[101] = { 1, 2, 4 }; int main() { for (int i = 3; i < 71; i++) { a[i] = a[i - 1] + a[i - 2] + a[i - 3]; } while (cin >> n && n != 0) { cout << a[n - 1] << endl; } return 0; }
👍
如果n==0,那么就break或者直接return 0
没有开long long
👍
double精度不够 换个定义类型吧
换了方式也一直说不对???是哪里出错了啊