C语言问题:请找出小于1000的回文素数
进行两次循环第一次是进行加一第二次循环数一直除1+1直到加到比本身小1如果能整除进行下一次循环反之输出返回进行下一次循环这就是思路如果要例子也可以补充下问题答案补充#include <stdio。h> #include <math。
h> int main(void) { int i; /*外循环*/ int j; /*内循环*/ int flag; /*素数标志,flag为1则此数为素数*/ flag = 0; //int n; i = 2; while( i <= 1000) { j = 2; flag = 1; /*假设此数为素数*/ while(j <= (int) sqrt(float(i))) { if(0 == (i %j)) flag = 0; /*根据第三种算法可知次数不为素数*/ j ++; } if(flag) printf("%d\t",i); i++; } printf("\n"); return 0; }。
小弟才疏学浅,不懂高深算法 只能给出这个苯方法了#include <stdio.h> void main() { int sum=0; int i; for (i=1;i<=1000;i++) { if (i<10) printf("%d ",i); else if(i<100) { if (i%10==i/10) printf("%d ",i); }else { if(i%10==i/100) printf("%d ",i);} } }答案补充不好意思啊 没看仔细 还要求素数呀 这个我就不行了如果楼主学过函数的话 CC的程序是最合适的如果没学函数的话 今以飞临的比较合适 不过 一位数的没有输出来
编写程序,找出大于等于a,并且小于等于b的所有素数回文数。 第一行包括两个正整数a和b(1≤a≤b≤108)。 输出满足条件的所有素数回文数,每行一个数,从小到大的排序。
测试能通过的哦!#include<stdio。
h>int a(int n);int main(){int i,j,t,k,s;printf("Following are palindrome primes not greater than 1000:\n");for(i=0;i<=9;++i)for(j=0;j<=9;++j)for(k=0;k<=9;++k){s=i*100 + j*10 + k;t=k*100 + j*10 + i;if(i == 0 && j==0){t=t/100;}else if(i ==0){t=t/10;}if(s>10 && s==t && a(s)){printf("%d\t",s);}}return 0;}int a(int n){int i;for(i=2;i<(n-1)/2;++i){if(n%i == 0)return 0;}return 1;}答案补充1位数的素数应该不在回文素数之列吧!。
弱弱的问一句回文素数什么意思???答案补充#include<stdio。
h>int main(){int s1[1000],i,j=0,m=100,s2[4]={3,0,0,0};for(i=0;i<1000;i++) s1[i]=0;while(m<1000){for(i=2;i<m;i++) if(m%i==0) break;if(i==m) {s1[j]=m;j++;}m++;}for(i=0;i<j;i++){while(s1[i]!=0){s2[s2[0]]=s1[i]%10; s1[i]=s1[i]/10; s2[0]--; }if(s2[1]==s2[3]) printf("%d ",s2[1]*100+s2[2]*10+s2[3]);s2[0]=3;s2[1]=0;s2[2]=0;s2[3]=0;}return 0;}根据题目信息 可判断此数一定为3位数 所以直接从100开始判断已通过测试答案补充第一个for是将S1数组初始化为0第二个for是判断整形变量M是否是素数,如果是按从小到大的顺序依次存入S1数组第三个for是判断数组S1中的素数是否是回文数,如果是则直接输出。
#include<stdio。
h>void main(){ int a,b,c,d,e,f,h; for(a=1;a<1000;a++) {for(b=1,c=0;b<=a;b++) if(a%b==0) c++; if(c<=2) {if(a<10)printf("%d ",a); if(a>=10&&a<100) {d=a%10;e=(a-d)/10;if(d==e) printf("%d ",a);} if(a>=100&&a<1000){d=a%10;e=a/100;if(d==e)printf("%d ",a);} if(a>=1000&&a<10000){d=a%10;e=((a-d)/10)%10;f=((a-d-10*e)/100)%10;h=(a-d-10*e-100*f)/1000;if(d==h&&e==f)printf("%d ",a);}}}}这样就可以了。
问:C语言编程输入一个正整数N,再输入N个正整数,判断它们是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 用C语言做 help me
答:楼上写的不完整 我是这样写的,纯C #include #include int prime(int q) { int j=2; if(q==1||q==2)...详情>>
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>