0
已解决
王紫馨
高级守护
高级守护
1699 找质数
题目描述 Description
a和b是正整数,判断 >=a 且 <=b 的数中有没有质数 ① 如果没有质数则输出“NO”; ② 如果有质数且质数的个数在3个以内的话输出质数的值(每个数占一行) ③ 如果有质数且质数的个数多于3个的话输出最小的三个质数的值(每个数占一行)
输入描述 Input Description
一行:a b
输出描述 Output Description
NO或者找到的质数
样例输入 Sample Input
14 20
样例输出 Sample Output
17
19
数据范围及提示 Data Size & Hint
3 <= a < b <=1000
#include <iostream>
using namespace std;
int main(){
int a,b,i,t=0,cnt=0,j;
cin>>a>>b;
for(i=a;i<=b;i++){
cnt=0;
for(j=2;j<i;j++){
if(i%j==0)
cnt++;
}
if(cnt==0 && i!=1){
if(t<=3){
t++;
cout<<i<<" ";
}else
t++;
}
}
if(t==0)
cout<<"NO";
return 0;
}
问下错在哪里?
题目网址:http://judge.codingtang.com/problem/1149/
王紫馨在2018-02-04 18:59:40追加了内容
更改一下:
#include <iostream>
using namespace std;
int main(){
int a,b,i,t=0,cnt=0,j;
cin>>a>>b;
for(i=a;i<=b;i++){
cnt=0;
for(j=2;j<i;j++){
if(i%j==0)
cnt++;
}
if(cnt==0 && i!=1){
if(t<=3){
t++;
cout<<i<<endl;
}else
t++;
}
}
if(t==0)
cout<<"NO";
return 0;
}
王紫馨在2018-02-04 19:44:23追加了内容
题目写错了
1
已采纳
蒋智航
高级天翼
高级天翼
scanf("%d%d", &m, &n);
s = m * n;
while(n != 0) {
r = m % n;
m = n;
n = r;
}
printf("%d ", s/m);
printf("%d", m);
0
刘睿轩
中级光能
中级光能
int m, n, r;
int s;
scanf("%d %d", &m, &n);
s = m * n;
while(n != 0) {
r = m % n;
m = n;
n = r;
}
printf("%d ", s/m);
printf("%d", m);
0
0
0
0