要怎么改代码才能实现不重复输出
帮忙看看题目,跟我整不会了这个题目。
没有思路怎么实现不重复输出,来点容易理解的,刚入门
-
要怎么改代码才能实现不重复输出
帮忙看看题目,跟我整不会了这个题目。
没有思路怎么实现不重复输出,来点容易理解的,刚入门
-
把第二个for循环的初始条件改为j=i ,第三个for循环的初识条件改为k=j即可,这样就可以逐步从当前最小的数开始往上判断,可以排除重复列举的情况,修改如下:
#include <stdio.h>
int isprime(int n){
int i=0;
for(i=n-1;i>1;i--){
if(n%i==0){
return 0;
}
}
return 1;
}
int main(void){
int i,j,k;
int n=0;
scanf("%d",&n);
for(i=2;i<n;i++){
for(j=i;j<n;j++){
for(k=j;k<n;k++){
if(isprime(i)&&isprime(j)&&isprime(k)&&(n==i+j+k)){
printf("%d=%d+%d+%d\n",n,i,j,k);
}
}
}
}
return 0;
}