解题思路:
我们先观察,我们需要一个负无穷到1,1到10,10到正无穷分段的函数,明显可知2^(X-1)为一个符合要求的解.
明显可知,1/x
但是,2^X在x<0的时候,值为0.
且1/0非法
那加1.
就是2/1=2,2/2=1,2/(x+1)=0
则
a=x;
x=(x-5)/9;
x=2/(2^x+1);
x=3-x;
y=x*a+(10^x-1)/9;
注意事项:
在c++中 求2^x可以用cmath
函数原型是double pow(double base,double exp)
参考代码:
#include<stdio.h>
#include<cmath>
using namespace std;
void solve(){
int a,b,x,y;
//
scanf("%d", &x);
// for(int i=-21;i<20;i++){
// x=i;
// printf("%d\t",x);
a=x;
x=(2*(x-5))/9;
// printf("%d\t",x);
x=(int)pow(2,x)+1;
// printf("%d\t",x);
x=2/x;
// printf("%d\t",x);
x=3-x;
// printf("%d\t%d\t",x,a);
y=x*a-((int)pow(10,x-1)-1)/9;
printf("%d\n",y);
// }
}
int main()
{
solve();
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复