要善于使用flag,哈哈

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int n,i,j,flag;
  6. scanf("%d",&n);
  7. if(n>=2){
  8. printf("%d\n",2);
  9. }
  10. for(i=2;i<=n;i++){
  11. for(j=2;j<i;j++){
  12. if(i%j!=0){
  13. flag=1;
  14. }
  15. else {
  16. flag=0;
  17. break;
  18. }
  19. }
  20. if(flag==1){
  21. printf("%d\n",i);
  22. }
  23. }
  24. return 0;
  25. }
点赞(0)
 

9.9 分

4 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 3 条评论

曾照彩云归 4年前 回复TA
#include<stdio.h>
int main(){
    int i,j,m;
    int N;
    scanf("%d",&N);
    for(i=2;i<N;i++){
        for(j=2;j<=i;j++){
            m=i%j;
        if(j==i)printf("%d\n",i);
        else if(m==0) break;
        }
}}
Monster00 4年前 回复TA
#include <stdio.h>
int main()
{
	int n,x=0,a=0,maxsize=100;
	int s[maxsize];
	scanf("%d",&n);
	for(int p=2;p<=n;p++){
		for	(int i=2;i<=p;i++){
			if	(p%i==0)			
			a++;	
		}
			if	(a==1){
				s[x]=p;
				x++;
			}
			a=0;
	}
	for	(int k=0;k<x;k++){
		printf("%d\n",s[k]);	
	}
	return 0;						
}
TTSV 4年前 回复TA
#include<stdio.h>
int main()
{
	int n=2,n1=2,n2=0,s;
	scanf("%d", &s);
	while (n <= s)
	{
		while (n1>=2&&n1<=n)
		{
			if (n % n1 == 0 && n != n1)
			{
				n2++;
			}
			if (n% n1 == 0 && n == n1&&n2<1)
			{
				printf("%d\n", n);
				n1 = 1;
			}
			else
				n1++;
		}
		n2 = 0;
		n1 = 2;
		n++;
	}
	return 0;
}
暴力破解