文章目录
问题 A: XP的素数
题目描述
XP最近对素数很痴迷,特别是那些特殊的素数,其中有一类素数被称为孪生素数。其定义如下:如果一个数k是素数,k+2也是素数,那么k和k+2成为一对孪生素数。请计算一个给定区间m和n(0<m<n)中孪生素数对的个数。
输入
单组输入数据
m n
(0<m<n<1000)
输出
请输出一行结果:区间[m,n]中孪生素数对的个数
#include<bits/stdc++.h>
#define ll long long
const int N=1005;
#include<bits/stdc++.h>
using namespace std;
int coun;
int s;
int a[N];
int prime(int n){
//判断素数
if(n==1)//注意输入的数据,如果为1则不是素数
return 0;
for(int j=2;j<=sqrt(n);j++){
//调用平方根函数,减少时间
if(n%j==0){
return 0;
}
}
return 1;
}
int main(){
int m,n;
int cou=0;
cin>>m>>n;
for(int i=m;i+2<=n;i++){
if(prime(i)&&prime(i+2))
cou++;
}
cout<<cou<<endl;
return 0;
}
问题 B: XP的三角形
题目描述
XP最喜欢的图形是三角形,最近他在研究直角三角形,他想到这么一个问题,如果三边长{a,b,c}均为整数的直角三角形周长为p,(a<=b<=c)当p = 120时,恰好存在三个不同的解:{a=20,b=48,c=52}, {a=24,b=45,c=51}, {a=30,b=40,c=50}。现在给定一个p求不同的解的个数。(p<=1000)
输入
单组输入数据
p
输出
输出一行结果
#include<bits/stdc++.h>
#define ll long long
const int N=1005;
#include<bits/stdc++.h>
using namespace std;
int coun;
int s;
int a[N];
int main(){
int p,ct=0;
cin>>p;
for(int i=1;i<p;i++){
for(int j=i;j<p;j++){
if((i*i+j*j)==(p-i-j)*(p-i-j)){
ct++;
}
}
}
cout<<ct<<endl;
return 0;
}
问题 C: XP的点滴
题目描述
XP一不留神感冒了,于是跑到校医院打点滴。打点滴真是无聊啊,他看到盐水一滴一滴地滴下来,突然想到一个问题:如果盐水有规律地滴下,先滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,假设这瓶盐水一共有n毫升,每一滴是y毫升,每一滴需要的时间是一秒(假设最后一滴不到y毫升,需花费的时间也算一秒),停一下的时间也是一秒。请问XP多久能挂完这瓶盐水呢?
输入
单组输入数据
n y (0<n,y<=1000)
输出
输出一行结果
#include<bits/stdc++.h>
#define ll long long
const int N=1005;
#include<bits/stdc++.h>
using namespace std;
int coun;
int s;
int a[N];
//这里是每滴一滴就是1秒
int main(){
int n,y,sm=0;
int ct=0;
cin>>n>>y;
int tim = ceil(n*1.0/y);//向上取整,比如ceil(1.2)=2,用来解决问题中最后一滴,剩余而不足Y毫升
if(tim==1){
//如果不足Y毫升就输出,结束程序
cout<<tim<<endl;
return 0