c++方程的解数
2018-02-02 14:50
651 查看
[b]习题:方程的解数[/b]
蒜头君在求解一个n元的高次方程:
其中:x1,x2,…,xn 是未知数,k1,k2,…,kn是系数,p1,p2,…,pn是指数。方程中所有数都一定是整数。
假设未知数 1≤xi≤M,i=1…n。你能帮蒜头君算出这个方程的整数解个数吗?
第二行输入一个整数 M(1≤M≤150)。
第3行到第
n+2 行,每行输入两个整数,分别表示 ki(∣ki∣≤20)和
pi(1≤pi≤4)。两个整数之间用一个空格隔开。
100
1 2
-1 2
1 2
#include <stdio.h>
#include <iostream>
#include <cstring>
using namespace std;
int n,M;
int k[5],p[5];
int mypow[160][5];
int ans=0;
void init()
{
memset(mypow,1,sizeof(mypow));
for(int i=1;i<=150;i++)
for(int j=1;j<=4;j++)
mypow[i][j]=i*mypow[i][j-1];
}
void dfs(int num,int mark)
{
if(num!=0&&num!=n&&mark==0)
return;
if(num==n)
{
if(mark==0)
ans++;
return;
}
for
4000
(int i=1;i<=M;i++)
dfs(num+1,mark+k[num]*mypow[i][p[num]]);
}
int main()
{
cin>>n;
cin>>M;
init();
for(int i=0;i<n;i++)
cin>>k[i]>>p[i];
dfs(0,0);
cout<<ans;
return 0;
}
蒜头君在求解一个n元的高次方程:
其中:x1,x2,…,xn 是未知数,k1,k2,…,kn是系数,p1,p2,…,pn是指数。方程中所有数都一定是整数。
假设未知数 1≤xi≤M,i=1…n。你能帮蒜头君算出这个方程的整数解个数吗?
[b]输入格式[/b]
第一行输入一个整数 n(1≤n≤4)。第二行输入一个整数 M(1≤M≤150)。
第3行到第
n+2 行,每行输入两个整数,分别表示 ki(∣ki∣≤20)和
pi(1≤pi≤4)。两个整数之间用一个空格隔开。
[b]输出格式[/b]
输出一行,输出一个整数,表示方程的整数解的个数。[b]样例输入[/b]
3100
1 2
-1 2
1 2
[b]样例输出[/b]
104#include <stdio.h>
#include <iostream>
#include <cstring>
using namespace std;
int n,M;
int k[5],p[5];
int mypow[160][5];
int ans=0;
void init()
{
memset(mypow,1,sizeof(mypow));
for(int i=1;i<=150;i++)
for(int j=1;j<=4;j++)
mypow[i][j]=i*mypow[i][j-1];
}
void dfs(int num,int mark)
{
if(num!=0&&num!=n&&mark==0)
return;
if(num==n)
{
if(mark==0)
ans++;
return;
}
for
4000
(int i=1;i<=M;i++)
dfs(num+1,mark+k[num]*mypow[i][p[num]]);
}
int main()
{
cin>>n;
cin>>M;
init();
for(int i=0;i<n;i++)
cin>>k[i]>>p[i];
dfs(0,0);
cout<<ans;
return 0;
}
相关文章推荐
- 第六届蓝桥杯A组C/C++第一题 方程整数解
- 我的第十六个C++上机报告(求一元二次方程的根)
- 【蓝桥杯-dfs】方程的解数(含dfs重要思路)
- c++第九周【任务5】设计一元一次方程类,求形如ax+b=0的方程的解。
- C++实现二分法求解方程
- c++对一元n次方程近似解求法(不涉及大数)
- C++练习之 求方程ax²-bx+c=0的解。
- 方程近似求解C++
- 图像处理;C++求已知两直线方程交点
- 第九周C++ 任务五。设计一元一次方程类,求形如ax+b=0的方程的解。
- 多元一次方程解法 C++
- C++求出多元一次方程
- C++找对象的季节(补)——方程类
- C++ 实现已知直线上两个点求解直线方程,并求两条直线的交点
- C++解数读
- C++求解二无一次方程
- C++窗口程序设计初体验(求方程的根)
- C++练习题:求一元二次方程的根
- C++第9周项目5参考——求一元二次方程的根
- 《C++第九周实验报告5-1》---设计一元一次方程类,求形如ax+b=0的方程的解