Generation

generate functionSun, 18 Jun 2023

C++解答:如果两个自然数 x,y不同并且没有两个不同的非1整数a,b,使得x和y都可以被a和b整除,那么我们就称y为非相似数。否则为相似数。例如:6和9为一对非相似数,因为除了1以外,只存在一个能整除x,y的数字——12和18为一对相似数,因为他们可以被2,3,6整除。 现在,给出正整数x和一段区间[l,r],请你在区间内找到x的所有非相似数。 输入 输入的第一行给出一个三个整数x,l,r 输出 第一行输出一个整数k,表示区间内x非相似数的个数。 第二行输出 k个整数,按照从小到大的顺序输出x的所有非相似数。样例 输入 18 1 15 输出 12 1 2 3 4 5 7 8 10 11 13 14 15

#include<iostream> #include<cstdio> using namespace std; int main() { int x,l,r; scanf("%d%d%d",&x,&l,&r); int z=r-l+1; int p[z],count=0; for(int i=l;i<=r;i++) { p[i-l]=i; } for(int i=0;i<z;i++) { for(int j=2;j<=p[i]/2;j++) { if(p[i]!=j&&p[i]%j==0) { if((x%j==0)&&(x/j!=j)) { count++; break; } } } }

Questions about programming?Chat with your personal AI assistant