标签:
经典的A+B Problem——各大题库上的首题。读入$a,b$,输出$a+b$。
#include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; cout<<a+b<<endl; return 0; }
读入$a,b,c$,输出$c(a+b)$。
#include <iostream> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; cout<<(a+b)*c<<endl; return 0; }
读入$a,b,c$,输出$\lfloor \dfrac{a+b}{c} \rfloor$。事实上,如果算子均为整数,C++中的除号"/"就可以实现取整了。
#include <iostream> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; cout<<(a+b)/c<<endl; return 0; }
小学算术,设读入的是$a,b$,那么所求的两个数依次为 a/b 和 a%b 。
#include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; cout<<a/b<<" "<<a%b<<endl; return 0; }
用 double 类型存储并进行除法运算,注意按格式输出。当然也可以用 1.0*a/b 这样的语句得到实数除的结果。
#include <cstdio> using namespace std; int main() { int a,b; scanf("%d%d",&a,&b); printf("%.9f\n",1.0*a/b); return 0; }
好可怕的背景啊。。。。。。其实就是两个数相除,结果化为百分数输出。输出语句可以写为 printf("%.3f%%\n",100*x); ,x就是计算出来的商。
#include <cstdio> using namespace std; int main() { int a,b; scanf("%d%d",&a,&b); b=b*100; printf("%.3f%%\n",1.0*b/a); return 0; }
这道题可以直接算,不过有更好的方法,就是霍纳法则:
\[f(x)=ax^3+bx^2+cx+d=((ax+b)x+c)x+d\]
这样可以使运算次数减少很多。
#include <cstdio> using namespace std; int main() { double x,a,b,c,d; scanf("%lf%lf%lf%lf%lf",&x,&a,&b,&c,&d); printf("%.7f\n",(((a*(x)+b)*x)+c)*x+d); return 0; }
给出$F$,求$C=\dfrac{5}{9}(F-32)$,。
#include <cstdio> using namespace std; int main() { double f,c; scanf("%lf",&f); c=5*(f-32)/9; printf("%.5f\n",c); return 0; }
给出$R$,求$C=2\pi R$和$S=\pi R^2$。
#include <cstdio> #define PI 3.14159 using namespace std; int main() { double r; scanf("%lf",&r); printf("%.4f %.4f %.4f\n",2*r,2*PI*r,PI*r*r); return 0; }
给出$R_1,R_2$,求
\[R=\frac{1}{\frac{1}{R_1}+\frac{1}{R_2}}\]
#include <cstdio> using namespace std; int main() { float r,r1,r2; scanf("%f%f",&r1,&r2); r=1.0/(1/r1+1/r2); printf("%.2f\n",r); return 0; }
[NOI题库]1.3编程基础之算术表达式与顺序执行 题解(一)
标签:
原文地址:http://www.cnblogs.com/changke/p/4835046.html