程序设计基础2020实验四-函数
发布于 2021-01-16 08:38
代码仅供参考,有不足之处请指出。
01:计算多项式的值
假定多项式的形式为xn+xn-1+…+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值。
输入
输入仅一行,包括x和n,用单个空格隔开。x在float范围内,n <= 1000000。
输出
输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在float范围内。
样例输入
2.0 4
样例输出
31.00
using namespace std;
int main()
{
int n;
float x,ans=0;
cin>>x>>n;
for(int i=0;i<=n;i++)
{
ans+=pow(x,i);
}
printf("%.2f",ans);
return 0;
}
02:求出e的值
利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。
输入
输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。
输出
输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
样例输入
10
样例输出
2.7182818011
using namespace std;
double a[25];
int main()
{
int n;
double e=2.0;
cin>>n;
a[1]=1,a[2]=1;
for(int i=2;i<=n;i++)
{
a[i]=i*a[i-1];
e+=1/(a[i]);
}
printf("%.10f",e);
return 0;
}
03:歌德巴赫猜想
歌德巴赫猜想,是指对于每一个大于4的偶数n,都能表示成两个质数之和。现在,你需要写程序验证这一猜想。对于n,找出质数a和b, 满足a+b=n, a≤b,且a*b最大。例如n=8,满足条件的a和b分别为3和5;
又如n=10,质数3、7以及5、5满足a+b=n, a≤b,而乘积大的那组是5、5。
输入
每行一个偶数n(4 < n <= 20000)。
输出
对应于每个输入的偶数,输出a、一个空格、b、一个换行符。
样例输入
8
10
1000样例输出
3 5
5 5
491 509using namespace std;
bool zs(int n)
{
for ( int i=2;i*i<=n;i++)
if(n%i==0) return 1;
return 0;
}
int main()
{
int n,i;
while (cin>>n)
{
for(i=n/2;zs(i)||zs(n-i);i--);
cout<<i<<" "<<n-i<<endl;
}
return 0;
}
04:素数回文数的个数
求11到n之间(包括n),既是素数又是回文数的整数有多少个。
输入
一个大于11小于1000的整数n。
输出
11到n之间的素数回文数个数。
样例输入
23
样例输出
1
提示
回文数指左右对称的数,如:292,333。
using namespace std;
bool HuiWen ( int n )
{
int a=n,t=0,x;
while ( a )
{
x=a%10;
t=t*10+x;
a/=10;
}
if(t==n)return 1;
else return 0;
}
bool SuShu ( int x)
{
int c;
for (int i=2;i*i<=x;i++)
if (x%i==0)
return 0;
return 1;
}
int main ( )
{
int sh,i=11,l=0;
cin>> sh;
for ( ;i<=sh; i++)
{
if(HuiWen ( i )&&SuShu ( i )) l++;
}
cout<<l<<endl;
return 0;
}
网址:http://qdacm.openjudge.cn/
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材