012:奇偶数判断
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
给定一个整数,判断该数是奇数还是偶数。
-
输入
输入仅一行,一个大于零的正整数n。
-
输出
输出仅一行,如果n是奇数,输出odd;如果n是偶数,输出even。
-
样例输入
扫描二维码关注公众号,回复: 9841298 查看本文章5
-
样例输出
odd
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n =0;
scanf("%d",&n);
if(n%2!=0)
{
printf("odd");
}
else
{
printf("even");
}
return 0;
}
013:求一元二次方程的根
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
利用公式x1 = (-b + sqrt(bb-4ac))/(2a), x2 = (-b - sqrt(bb-4ac))/(2a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0。
-
输入
输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数。
-
输出
输出一行,表示方程的解。 若b2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=…。 若b2 > 4 * a * c,则两个实根不等,则输出形式为:x1=…;x2 = …,其中x1>x2。 若b2 < 4 * a * c,则有两个虚根,则输出:x1=实部+虚部i; x2=实部-虚部i,即x1的虚部系数大于等于x2的虚部系数,实部为0时不可省略。实部 = -b / (2a), 虚部 = sqrt(4ac-bb) / (2*a) 所有实数部分要求精确到小数点后5位,数字、符号之间没有空格。
-
样例输入
样例输入1 1.0 2.0 8.0 样例输入2 1 0 1
-
样例输出
样例输出1 x1=-1.00000+2.64575i;x2=-1.00000-2.64575i 样例输出2 x1=0.00000+1.00000i;x2=0.00000-1.00000i
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
double x1 = (-b + sqrt(b*b-4*a*c))/(2*a);
double x2 = (-b - sqrt(b*b-4*a*c))/(2*a);
if(b*b==4*a*c)
printf("x1=x2=%.5lf",x1);
else if(b*b>4*a*c)
{
if(x1 > x2)
printf("x1=%.5lf;x2=%.5lf",x1,x2);
else
printf("x1=%.5lf;x2=%.5lf",x2,x1);
}
else
{
double a1 = -b / (2*a);
double a2 = sqrt(4*a*c-b*b) / (2*a);
if(b == 0)
{
a1 = 0;
}
printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",a1,a2,a1,a2);
}
return 0;
}
014:点和正方形的关系
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。
-
输入
输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。
-
输出
输出一行,如果点在正方形内,则输出yes,否则输出no。
-
样例输入
1 1
-
样例输出
yes
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int a=0,b=0;
scanf("%d %d",&a,&b);
if(a>=-1&&a<=1&&b>=-1&&b<=1)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}
015:苹果和虫子2
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
-
输入
输入仅一行,包括n,x和y(均为整数)。
-
输出
输出也仅一行,剩下的苹果个数
-
样例输入
10 4 9
-
样例输出
7
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n= 0,x=0,y=0;
scanf("%d %d %d",&n,&x,&y);
int m = (y/x);
if(y%x!=0)
{
m = m + 1;
}
int result = n - m ;
if(n - m < 0)
{
result = 0;
}
printf("%d",result);
return 0;
}
016:简单计算器
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
一个最简单的计算器,支持+, -, *, / 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。
-
输入
输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。
-
输出
输出只有一行,一个整数,为运算结果。然而: 1. 如果出现除数为0的情况,则输出:Divided by zero! 2. 如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!
-
样例输入
1 2 +
-
样例输出
3
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int a=0,b=0;
char c = 0;
scanf("%d %d %c",&a,&b,&c);
if(c != '+' && c != '-' && c != '*' && c != '/')
{
printf("Invalid operator!");
}
else if(b == 0)
{
printf("Divided by zero!");
}
else
{
if(c == '+')
{
printf("%d",a+b);
}
else if(c == '-')
{
printf("%d",a-b);
}
else if(c == '*')
{
printf("%d",a*b);
}
else
{
printf("%d",a/b);
}
}
return 0;
}
017:求整数的和与均值
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
读入n(1 <= n <= 10000)个整数,求它们的和与均值。
-
输入
输入第一行是一个整数n,表示有n个整数。 第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。
-
输出
输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。
-
样例输入
4 344 222 343 222
-
样例输出
1131 282.75000
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n = 0;
int summ = 0;
scanf("%d",&n);
double ave = 0;
for(int i = 0;i<n;i++)
{
int tmp = 0;
scanf("%d",&tmp);
summ += tmp;
}
ave = double(summ)/ double(n);
printf("%d %.5lf",summ,ave);
return 0;
}
018:整数序列的元素最大跨度值
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
-
输入
一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。
-
输出
输出一行,表示序列的最大跨度值。
-
样例输入
6 3 0 8 7 5 9
-
样例输出
9
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n = 0;
int minn = 1001;
int maxx = -1;
scanf("%d",&n);
for(int i = 0;i<n;i++)
{
int tmp;
scanf("%d",&tmp);
if(maxx<tmp)
{
maxx = tmp;
}
if (minn>tmp)
{
minn = tmp;
}
}
printf("%d",maxx-minn);
return 0;
}
019:奥运奖牌计数
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
2008年北京奥运会,A国的运动员参与了n天的决赛项目(1≤n≤17)。现在要统计一下A国所获得的金、银、铜牌数目及总奖牌数。
-
输入
输入n+1行,第1行是A国参与决赛项目的天数n,其后n行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。
-
输出
输出1行,包括4个整数,为A国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。
-
样例输入
3 1 0 3 3 1 0 0 3 0
-
样例输出
4 4 3 11
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n = 0;
int gold=0,silver=0,bronze = 0;
scanf("%d",&n);
for(int i = 0;i<n;i++)
{
int g1 = 0,s1= 0,b1 = 0;
scanf("%d %d %d",&g1,&s1,&b1);
gold += g1;
silver += s1;
bronze += b1;
}
printf("%d %d %d %d",gold,silver,bronze,gold + silver + bronze);
return 0;
}
020:乘方计算
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
给出一个整数a和一个正整数n,求乘方an。
-
输入
一行,包含两个整数a和n。-1000000 <= a <= 1000000,1 <= n <= 10000。
-
输出
一个整数,即乘方结果。题目保证最终结果的绝对值不超过1000000。
-
样例输入
2 3
-
样例输出
8
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int a = 0,n = 0;
scanf("%d %d",&a,&n);
int i = 1;
int m = a;
while(i != n)
{
a = a*m;
i++;
}
printf("%d",a);
return 0;
}
021:鸡尾酒疗法
-
总时间限制:
1000ms
-
内存限制:
65536kB
-
描述
鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾 滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生 命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给 出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。
-
输入
第一行为整数n( 1 < n <= 20); 其余n行每行两个整数,第一个整数是临床实验的总病例数(小于等于10000),第二个疗效有效的病例数。 这n行数据中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。
-
输出
有n-1行输出,分别表示对应改进疗法的效果: 如果效果更好,输出better;如果效果更差,输出worse;否则输出same
-
样例输入
5 125 99 112 89 145 99 99 97 123 98
-
样例输出
same worse better same
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n = 0;
scanf("%d",&n);
int total = 0;
int success = 0;
scanf("%d %d",&total,&success);
double start = double(success)/double(total);
for(int i =0;i<n-1;i++)
{
int t1,s1;
scanf("%d %d",&t1,&s1);
double ans = double(s1)/double(t1);
if(ans - start>0.05)
{
printf("better\n");
}
else if(start-ans>0.05)
{
printf("worse\n");
}
else
{
printf("same\n");
}
}
return 0;
}