问题标题: 酷町堂:5073

0
0
许致远
许致远
中级守护
中级守护

5073   拆数2

经验值:0 时间限制:1000毫秒

题目描述 Description

输入一个正整数n,将 n 拆分为4次方数的方案数,方案不能重复。

4次方数:是其他数4次方的数。例如1(1的4次方),16(2的4次方),81(3的4次方)这些数都是4次方数。

如:n=17: 17=1+16;和17=1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1;
共2种方案

输入描述 Input Description

输入一个正整数n (n<=2000)

输出描述 Output Description

将n 拆分为4次方数的方案数

样例输入 Sample Input

17

样例输出 Sample Output

2

数据范围及提示 Data Size & Hint

n<=2000

#include<iostream>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include<string>
#include<iomanip>
#include<sstream>
using namespace std;
int a[5],n;
int f(int n,int x){
	if(n==0)
		return 1;
	int ans=0;
	for(int i=x;i<=2&&a[i]<=n;i++){
		ans+=f(n-a[i],i);
	}
	return ans;
}
int main(){
	for(int i=1;i<=2;i++){
		a[i]=i*i*i*i;
	}
	cin>>n;
	cout<<f(n,1);
	return 0;
}

哪里错了!!!

许致远在2021-04-17 21:42:23追加了内容

许致远在2021-04-18 07:45:31追加了内容

许致远在2021-04-18 10:12:36追加了内容

许致远在2021-04-18 15:06:59追加了内容

我顶

许致远在2021-04-19 20:36:38追加了内容

我顶


0
0
0
李瑞曦
李瑞曦
高级天翼
高级天翼

有些地方我只写了注释,你自己想

我要回答