1041: 多用例测试
题目描述:
输入多组整数,每组数据包含两个整数a和b,对每组数据输出a+b的结果。
输入
1 2
3 4
输出
3
7
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int m,n,a,b;
cin>>m>>n>>a>>b;
cout<<m+n<<endl;
cout<<a+b<<endl;
return 0;
}
1042: 求使1+2+…+i>=n成立的最小整数 i
题目描述:
输入正整数n,求使1+2+…+i>=n成立的最小整数i。
输入
123
输出
16
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int n,i,sum;
cin>>n;
i=0;
sum=0;
while(sum<=n) {
i++;
sum+=i;
}
cout<<i<<endl;
return 0;
}
1043: 质数判断
题目描述:
输入正整数n,判定它是否为素数(prime,又称质数)。若n为质数则输出“Yes”,否则输出“No”。
输入
5
输出
Yes
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int num,sqrts,flag=1;
cin>>num;
sqrts=sqrt(num);
if(num==1) flag=0;
for(int i=2; i<=sqrts; i++) {
if(num % i == 0) flag=0;
}
if(flag==1) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
return 0;
}
1044: 求1-2/3+3/5-4/7+5/9-6/11+…的前n项和
题目描述:
输入正整数n,求1-2/3+3/5-4/7+5/9-6/11+…的前n项和,结果保留3位小数。
输入
100
输出
0.391
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int sign,i,n;
cin>>n;
double deno,sum,term,mole;
sign=-1;//初始化当前运算的符号
sum=0;//初始化值
deno=3;//初始化分母
mole=2;//初始化分子
for(i=1; i<=n; i++) {
mole=i;
deno=2*i-1;
sign=-sign;
term=sign*mole/deno;
sum+=term;
}
printf("%.3lf",sum);
return 0;
}
1045: 质数判断(使用break语句)
题目描述:
输入一个大于3的整数n,判定它是否为素数(prime,又称质数)。若n为质数则输出“Yes”,否则输出“No”。
输入
7
输出
Yes
示例
#include<cstdio>
#include<cmath>
int main() {
int n,i,k;
scanf("%d",&n);
if(n==1) printf("No\n");
k=sqrt(n);
for(i=2; i<=k; i++) {
if(n%i==0) {
printf("No\n");
break;
} else {
printf("Yes\n");
break;
}
}
return 0;
}
1046: 输出a到b之间的不能被3整除的整数
题目描述:
输出a到b之间的不能被3整除的整数。
输入
1 10
输出
1 2 4 5 7 8 10
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int a,b;
cin>>a>>b;
for(int i=a; i<=b; i++) {
if(i%3!=0) {
printf("%d ",i);
}
}
return 0;
}
1047: 百文买百鸡
题目描述:
公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只,用m文钱买m只鸡,公鸡、母鸡、小鸡各买多少只?
输入
100
输出
0 25 75
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int m,c1,c2,c3,j,z,num1,num2;
cin>>m;
c1=m/5;
c2=m/3;
for(j=0; j<=c1; j++) {
for(z=0; z<c2; z++) {
c3=3*(m-(5*j+3*z));
num1=j+z+c3;
num2=5*j+3*z+c3/3;
//注意100,这个在平台测试的时候,改成m,用能运行的m或者100
if((num1==100)&&(num2==m)) {
cout<<j<<" "<<z<<" "<<c3<<endl;
return 0;
}
}
}
return 0;
}
1048: 求a到b之间存在多少个素数
题目描述:
求a到b之间存在多少个素数。
输入
100 200
输出
21
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int a,b,i,j,state =1,total=0;
int num;
cin>>a>>b;
//所有的数字
for (i= a; i <= b; i++) {
for ( j = i; j > 0; j--){
//判断是否除1和本身外有其他数字能整除
if (i % j == 0 && j > 1 && j < i) {
state++;
}
}
//大于0 ,说明除1和本身外有其他数字能整除
if (state > 0) {
//清空状态,用于下一个数的判断
//不清空会影响后面程序的运行结果
state = 0;
} else {
total++;
}
}
cout<<total<<endl;
return 0;
}
1049: 百文买百鸡(增加无解输出)
题目描述:
公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只,用m文钱买m只鸡,公鸡、母鸡、小鸡各买多少只?
若有解只输出一个解,即公鸡数量最少的那个解;若无解输出“No answer”。
输入
100
输出
0 25 75
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int m,c1,c2,c3,j,z;
cin>>m;
c1=m/5;
c2=m/3;
for(j=0; j<=c1; j++) {
for(z=0; z<c2; z++) {
c3=3*(m-(5*j+3*z));
if(((j+z+c3)==100)&&((5*j+3*z+c3/3)==m)) {
cout<<j<<" "<<z<<" "<<c3<<endl;
return 0;
}
}
}
cout<<"No answer"<<endl;
return 0;
}
1050: 正整数的位数(while实现)
题目描述:
输入一个正整数,输出其位数(用while语句实现)。
输入
123
输出
3
示例
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int num,total=0;
cin>>num;
while(true) {
if(num!=0) {
total++;
} else {
break;
}
num/=10;
}
cout<<total<<endl;
return 0;
}