C#控制臺(tái)素?cái)?shù)問題
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? for(int i=2;i<=100;i++)
? ? ? ? ? {
? ? ? ? ? ? ?for(int a=2;a<=i;a++)
? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? if(i%a==0&&a!=1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ?Console.WriteLine(i);?
? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ??
? ? ? ? ? ? ?}
? ? ? ? ? }
? ? ? ? }
? ? }
}這個(gè)循環(huán)哪里有錯(cuò)
2018-05-25
a<=i是不是有問題,假如i=2,那么第一次循環(huán)a=2,a%a為 2%2=0,且a!=1,自己處以自己怎么能算非素?cái)?shù)呢,
所以我覺得應(yīng)該a<i,還有一點(diǎn),這個(gè)有個(gè)數(shù)學(xué)問題,a<Math.Ceiling(Math.Sqrt(i))這樣能減少運(yùn)算次數(shù),一般都是開根號(hào)來算,我也沒找到證明,你就自己查Prime函數(shù),都是這么寫
2018-05-22
for?(int?i?=?2;?i?<=?100;?i++)
????????????{
????????????????for?(int?a?=?2;?a?<=?i;?a++)
????????????????{
????????????????????if?(i?%?a?==?0?&&?a?!=?i)
????????????????????{
????????????????????????break;
????????????????????}else?if?(a?==?i){
????????????????????????Console.WriteLine("素?cái)?shù)"?+?i);
????????????????????}
????????????????}
????????????}
2018-05-22
for?(int?i?=?2;?i?<=?100;?i++)
????????????{
????????????????for?(int?a?=?2;?a?<=?i;?a++)
????????????????{
????????????????????if?(i?%?a?==?0?&&?a?!=?i)
????????????????????{
????????????????????????Console.WriteLine("非素?cái)?shù)"+i);
????????????????????????break;
????????????????????}
????????????????}
????????????}