帮忙写下用for循环语句编写一程序 新手求助

||| #include<iostream.h>void main(){ int primer(int a); //判断是否为质数的函数 const int m=2; // 1 既不是质数 跳出循环 break; }if(i==j)//当i==j的时候就说明是质数了System.out.println(i);//输出质数就ok了}}} 答案补充 我这个程序是用java编写的 是质数} j;for( i=2;i<=50;i++){for(j=2;j<=i;j++){if(i%j==0)//如果能对j取余数横等0 不是质数 return 1; // 所有的都不存在就返回1 if(i%j==0) break; //如果能被整除就结束循环 if(i==j) //如果J能到达i则证明它除了本身和1就没有其他因数 j; for(i=3;i<=100;i++) //从三开始逐个找 { for(j=2;j<=i;j++) //抽出每个比i小的数 char* argv[]) { unsigned long i n=0; for(i=3;i<=50;i=i+2) { k=i-1; for(j=2;j<=k;j++) if(i%j==0) break; if(j>=k+1) { cout<<i<<"/t"; } }} 答案补充 #include "iostream.h" int main(int argc k j n=0; for(i=3;i<=50;i=i+2) { k=i-1; for(j=2;j<=k;j++) if(i%j==0) break; if(j>=k+1) { cout<<i<<" "; } } cout<<endl;}根据质数的定义 返回0 return 0 ; //是质数 则不是质数 在上一语句就会被结束 cout<<i<<" "; } cout< return 0; } ||| #include<iostream.h>#include<math.h>int IsPrime(int n){//判断是否为质数 if(n==2) return 0 ;//2不是质数 int s = floor(sqrt(n)) ;//求出n的平方根 for(int i=2;i<=s;i++) if(n%i==0) //如果能被2~n的平方根整除 直接检查下一个 } if(f==0) //f没被改变值f=0 j 因为如果有 所以结束本次循环 说明这个数不是质数 说明不是质数 { f=1; break; //运行if f=0表示是质数 for(i=2;i<50;i++) //1~50间数的循环{ for(j=2;j<i;i++) { f=0; //对每次循环的f初始化 if(i%j==0) //当数字i被1和它本身之间的数j整出 f是标记 返回0 i); //输出“i是质数” }} //for对应的反括号} 答案补充 我在学C不懂就联系我 ||| public class TestSu{public static void main(String args[]){int i 说明是质数 printf("%d是质数/n" f=0; //i是1~50之间的数 所以从2开始 const int n=50; for(int i=m;i<=n;i++) // 通过循环判断是否为质数 if(primer(i)) cout<<i<<" ";}int primer(int a) // 判断是否为质数的函数{ int i; for(i=2;i<a;i++) // 质数是只能被1和本身整除的数 if(a%i==0) return 0; // 如果存在可以被a整除的数 又不是合数 如果你不会的话就看for循环里的主要内容 我和其它的回答做了下比较 返回true} 答案补充 推荐你多看源码 则为素数 不用再和偶数计算是否整除 { if ((candidate % i) == 0) // 如果整除 则不是素数 返回 false { return false; } } return true; // 以上情况都不满足 偶数情况已经分析 计算是否可以整除 i += 2 是因为 偶数中只有2是素数 { return (candidate == 2); } int num = (int) Math.Sqrt((double) candidate); // 求 candidate 的平方根 for (int i = 3; i <= num; i += 2) // 循环3 到 candidate 的平方分 如果等于0 则为偶数 最后根据 j(循环变量)与k之间的关系就可以判断出是否是质数了 ||| #include<iostream.h>void main(){ int i k j int max) // 获取 min 到 max 之间的素数集合{ if(min > max) // 如果 mix 大于 max 则交换2数字 { int temp = min; min = max; max = min; } List<int> primes = new List<int>(); for(int i = min; i <= max; i++) //循环 min 到 max; { if(IsPrime(i)) primes.Add(i); } return primes.ToArray();}internal static bool IsPrime(int candidate){ if ((candidate & 1) == 0) // 和 1 做与运算 否则在完成最后一次循环后退出 则提前结束循环 如果能被其中任何一个整数除 判断方法是:(假设判断i是否是质数):让i被2到i-1(K)除 可以用for循环对1--50之间的奇数进行判断 返回该质数 return n ;}int main(){ for(int i=1;i<=50;i++) if(IsPrime(i)) cout << i << '/t' ;} ||| #include"stdio.h"void main(){ int i 因为能整除i的一定是比i小的数 而是否是偶数在最开始已经计算 也能被2整除 因为能陪偶数整除的话 也应该跳过与偶数计算是否整除 而且在计算是否整除中 执行相率上就会慢上一倍 他们都没有判断偶数情况 以上 IsPrime 方法是System.Collections.Generic.HashHelpers 里的实现方法可以使用第三方的反编译工具 Reflector 看到 也就是要写上# include<iostream.h> ||| class ZhiShu{ /** * 判断一个数是否为质数 * @param num * @return */ private static boolean isZhiShu(int num) { int j; for (j = 2; j < num; j++) {//循环判断是否有可以被整除的数字 if ((num % j) == 0)//取余是否为0 如果你不懂可以问 ||| public static int[] GetPrime(int min ";数字就用逗号分开了 答案补充 把上面的代码放到main函数中 可以用自定义函数#include <iostream.h> #include <conio.h> int prime(int n) { for(int i=2;i<n;i++) if(n%i==0)return 0; return 1;} void main() { int i;for (i=1;i<51;i++){if(prime(i)){cout<<i<<; } } }这个是最简单的了 普通回答代码缩进自动给取消 ||| #include<iostream.h>void main(){ int i k=50; cout<<"存在这样的质数k:"<<endl; while (k>1) { if(prime(k)){cout<<k<<'/t'; }//如果是质数则输出 k--; } cout<<endl; getch(); } 答案补充 你如果要想简单点 和百度知道一样不爽补充回答不给断行 打印}} 答案补充 我靠 是否整除{if((i % j) == 0) //如果整除 终止循环{break;}}cout << i << endl; // 以上条件都不满足则为素数 没注意看C++ 实现#include <iostream>#include <math.h>using namespace std;int main(){for(int i = 2; i <= 50; ++i) // 循环 2 到 50{if((i & 1) == 0) // 是否偶数{if(i == 2) // 偶数只有2是素数{ cout << i << endl;}continue; // 继续循环}int sq = (int)sqrt((float)i); //计算平方根for(in j = 3; j <= sq; j += 2) // 循环 3 到 i 的平方根 所以再循环的时候只需要 i += 2; 答案补充 呵呵 必然不是素数 把cout<<i;改成cout<<i<<" 是质数} void main() { int count=0 for(int i = 2; i < 51; i++)//从2循环到50{bool check = true;//判断是否质数for(int j = 2; j < i; j++){if(i % j == 0)//如果j能整除i{check = false;break;}}if(check)cout<<i;} 答案补充 输出格式改下好看点 置为0return 1; /*返回1 不是则返回0 int prime(int n) { for(int i=2;i<n;i++) if(n%i==0)return 0; /*如果能被其中任何数整除则不是质数 是返回1 如果为0就意味着被整除了 return false; } return true; } public static void main(String[] args) { for (int i = 1; i < 51; i++) {//循环判断是否为质数 if (isZhiShu(i)) System.out.print(i + " "); } }} ||| #include <iostream.h> #include <conio.h> //函数名称:prime //用途:判断是否为质数 文件开头要加头文件iostream.h
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值