一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序找到名m~n中符合条件的数,如果没有输出“NO”。
输入:
一行,包含一个整数 m,一个整数 n(1 <= m <= n <= 1000)。
输出:
一行,即满足条件的数据,数与数之间用空格隔开,如果没有输出“NO”。
复制
样例输入:
50 100
复制
样例输出:
57 87
参考GPT和自己的思路:首先,我们可以用循环从m到n遍历每一个整数,对于每个整数,判断是否满足条件即可。
具体判断条件如下:
如果同时满足以上两个条件,就将其输出,用空格隔开。
如果没有符合条件的数,则输出“NO”。
下面是相应的C++代码实现:
#include <iostream>
using namespace std;
int main() {
int m, n;
bool flag = false; // 是否有符合条件的数
cin >> m >> n;
for(int i = m; i <= n; i++) {
if((i+3)%5 == 0 && (i-3)%6 == 0) {
cout << i << " ";
flag = true;
}
}
if(!flag) cout << "NO";
return 0;
}
希望能对你有所帮助!
解同余方程组,由孙子定理,x=30t+12+15,t为整数。
代码:
#include<stdio.h>
int main(){
int m,n,t,count=0;
scanf("%d%d",&m,&n);
for(t=(m-27+29)/30;t*30+27<=n;t++){
printf("%d ",t*30+27);
count++;
}
if(count==0)printf("NO");
return 0;
}
帮你写了一个(一个字一个字敲的,不是ai)
#include <stdio.h>
int main()
{
int m, n;
scanf("%d%d", &m, &n);
int found = 0;
for (int i = m; i <= n; i++)
{
if ((i + 3) % 5 == 0 && (i - 3) % 6 == 0)
{
found = 1;
printf("%d ", i);
}
}
if (!found)
printf("NO");
return 0;
}
这是运行结果:
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
//1417
int main()
{
int n,i,t=0;
scanf("%d",&n);
int a[n];
for(i=0; i<n; i++)
scanf("%d",&a[i]);
int *p;
p=a;
int x;
scanf("%d",&x);
for(i=1; i<n; i++)
{
int cha=0,ch=0;
ch=(int)abs(x-p);
cha=(int)abs(x-(p+1));
if(ch<=cha)
{
t=*p;
p=(p+1);
*(p+1)=t;
}
p++;
}
printf("%d\n",*p);
return 0;
}