sinat_37676560
云裳容
采纳率95.2%
2017-11-29 13:06

ACM题目(素数)(求c或c++解决)

已采纳

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前
     int check_repeat(int n)
    {
        int flag[10]={0};
        int a;
        while(n)
        {
            a=n%10;
            n/=10;
            if(flag[a]) return 1;//发现重复
            flag[a]=1; //标记出现过
        }
        return 0; //正常退出循环 表示没有出现重复
    }
    int prime(int num) //prime表示素数
    {
    int i = 0;
    int k = 0;
    k = sqrt(num);
    for (i = 2; i <= k; i++)
    {
    if (num%i == 0)
    {
       return 0;
    }
    }
    return 1;
    }
    int main()
    {
    int x, y;
    scanf("%d %d", &x, &y);
    for (int i = x; i <= y; i++)
    {
    if (check_repeat(i) &&  prime(i))
    printf("%d\n", i);
    }
    }
    
    点赞 1 评论 复制链接分享

为你推荐