标题:
VC++从入门到实践 习题求助
[打印本页]
作者:
hk_848
时间:
2010-8-5 10:04
标题:
VC++从入门到实践 习题求助
麻烦老师把习题2.13中第5题(筛选100以内素数)的源代码发上来。
同时这是我写的,但却把100以内的整数都输出来了,请老师看一下。
#include"iostream.h"
void main()
{
int a,k,b;
a=1,a<101;
print:k!=a,k!=1,b!=a,b!=1;
switch(a/(k*b))
{
case 1:
{
a=a+1;
if(a>100)
cout<<"over"<<endl;
else
goto print;
}
default:
{
cout<<a<<endl;
a=a+1;
if(a>100)
cout<<"over"<<endl;
else
goto print;
}
}
}
作者:
fwbook
时间:
2010-8-5 12:46
我尽然没有看明白你的代码。能说一下你的思路吗?
一般判断素数的方式为:假设数字为a,用从2到a-1的数字分别去除以a。只要有一次余数为0,则说明不是素数。
作者:
hk_848
时间:
2010-8-6 10:37
哦,原来用这种方法
我的思路是想假设数字为a,如果存在k*b=a,且k不等于1,k不等于a,则a就不是素数了。
但是我不知道怎样让计算机去寻找是否存在这样的k和b,因为k,b的值一开始已经被随机选定。
作者:
fwbook
时间:
2010-8-6 13:22
实际你的思路也是可以的。只是费点力气。实际也是两个循环。
假设数字为a,让k和b嵌套循环。
k从2循环到a-1
b从2循环到a-1
如果k*b=a,则a不是素数。
欢迎光临 万卷图书 (http://wanjuanchina.net/)
Powered by Discuz! 7.0.0