WANGYUZHEN王玉镇 2021-07-30 12:46 采纳率: 50%
浏览 46
已结题

请问这道问题用c++怎么求?——一个初中生

[http://1.14.136.201/problem.php?cid=1166&pid=5(http://1.14.136.201/problem.php?cid=1166&pid=5)]
判断两位数的质数
时间限制:1.000s 内存限制:16MB

输入一个两位数n,如果这个数是质数,把它倒序后也是质数就输出yes,否则输出no
如:输入31,输出yes 因为31是质数,倒序后13也是质数
输入23,输出no
输入格式
一个两位整数
输出格式
yes或no
样例输入
13
样例输出
yes
我的错误代码:

#include<bits/stdc++.h>
using namespace std;
int main() {
    long long a=0;
    long long n;
    long long i=2;
    scanf("%d",&n);
    int ge=n%10;
    int shi=n%100/10;
    int nx=ge*10+shi;
    for(int i=2; i<n; i++) {

        if((n%i==0)) {
            if((nx%i==0)) {
                a++;
            }
        }

    }
    if(a==0) {
        printf("yes", n);
    } else if(a==0||a==1) {
        printf("no",n);
    } else {
        printf("no", n);
    }
    return 0;
}


请问代码是什么?Thanks!

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2021-07-30 13:16
    关注
    int isprime(int n)
    {
        if(n<=1)
          return 0;
        for(int i=2;i*i<=n;i++)
          if(n%i==0)
            return 0;
       return 1;
    }
    
    int main()
    {
      int n,m;
      scanf("%d",&n);
      m=(n%10)*10+n/10;
      int a = 1,b=1,i;
      for(i=2;i*i<=n;i++)
        if(n%i==0)
            a = 0;
      for(i=2;i*i<=m;i++)
        if(m%i==0)
          b=0;
      if(a==0 && b==0)
         printf("yes");
      else
        printf("no");
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 创建了问题 7月30日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改