C语言编程,输出三位数中所有的回文数,并计算出共有多少个?
3位数的话,就判断百位和个位是否相等就好:
#include <stdio.h>int main(){ int n, cnt=0;; for (n=100; n<1000; ++n) { if (n/100==n%10) //百位==个位? { ++cnt; printf("%5d", n); if (cnt%5==0) printf("\n"); } } printf("\n合计:%d个\n", cnt); return 0;}
用java编写一个程序,判断一个数是否为回文素数,不知道错在哪,求大神帮忙?
使用java编写判断自然数是否为素数的方式是,使用scanner来接受用户输入的数值,使用素数的算法,实例如下:
Scanner sr = new Scanner(System.in); System.out.print("请输入a的值:"); int a = sr.nextInt(); boolean is = true; if (a < 1) { System.out.println(a + "不是质数,因为他小于一"); } else { List<Integer> list = new ArrayList<Integer>(); for (int i = 2; i < a; i++) { if (a % i != 1 && a % i != a) { if (a % i == 0){ is=false; list.add(i); } } } if(is){ System.out.println("a是质数"); }else{ String yz=""; for (int i = 0; i < list.size(); i++) { if (yz=="") { yz=yz+list.get(i); }else{ yz=yz+","+list.get(i); } } System.out.println("a不是质数,因为他含有因子"+yz); } }
import java.util.Scanner;
public class Prime {
public static void main(String[] args) {
Scanner c = new Scanner(System.in);
System.out.println("请输入一个大于3的整数:");
int num = c.nextInt();
for(int i=2;i<=num/2;i++){
if(num%i==0){
System.out.println(num+"不是素数");
}else{
System.out.println(num+"是素数");
}
}
}
}
既是素数又是回文数c语言
#include <stdio.h> #include <math.h> int p(int x) //x是素数返回1,否则返回0 { int i; for(i=2;i<=sqrt(x);i++) if (x%i==0) return 0; return 1; } int h(int x)//x是回文,返回1,否则返回0 { int y=x,i=0; int a,b; while (y>0) y=y/10,i++; //求x的位数 y=x; while (y) { a=y/pow(10,i-1); b=y%10; y=y-a*pow(10,i-1); y=y/10; if (a!=b) return 0; i=i-2; } return 1; } void main() { int i; for(i=100;i<10000;i++) if(p(i) && h(i)
) printf("%d,",i); }

