社区
C++ 语言
帖子详情
几个小问题
superspeed2005
2005-03-30 03:18:39
分不多,希望高手指教~~
1:string s;
getline(cin,s);
每次运行的时候非要按2次回车才会继续下面的程序。什么原因啊?
2:输入一个数,如果是不是质数把它分解成质数因子,并确定出现次数,
我的方法很笨拙,先确定从2到数n之间的质数存入vector,循环,在用map确定出现次数。
有没有简单方法啊。
...全文
109
6
打赏
收藏
几个小问题
分不多,希望高手指教~~ 1:string s; getline(cin,s); 每次运行的时候非要按2次回车才会继续下面的程序。什么原因啊? 2:输入一个数,如果是不是质数把它分解成质数因子,并确定出现次数, 我的方法很笨拙,先确定从2到数n之间的质数存入vector,循环,在用map确定出现次数。 有没有简单方法啊。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shine51151
2005-03-30
打赏
举报
回复
不好意思
上面的“解说”改为“结束”
shine51151
2005-03-30
打赏
举报
回复
Re:
1:string s;
getline(cin,s);
每次运行的时候非要按2次回车才会继续下面的程序。什么原因啊?
原因是这样的:
getline() 和 cin 一样,都要求以回车作为一次输入结束的标志
即在分割符后必须再追加一个回车才表示输入结束。
因此若 getline(cin,s,'b');输入时你要一直键入直到键入字符'b'后
你键入的回车才能起到解说本次输入的作用。
故如你所述,用了getline( cin,s,'\n')也是要输入两次回车,因为'\n'是默认的分割符,
只有见到第一个回车后,再次输入回车才能结束本次输入。
可以这样理解,第一个分隔符(包括默认的回车作为分隔符)被getline()接收了,但getline接收后
在输出时又把它抹掉了,输出时只输出到截止到第一个分隔符前的所有字符!!
shine51151
2005-03-30
打赏
举报
回复
这是我编的一个小程序“对一个正整数作标准素分解”:
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
#define M 1500 // 对大数作标准素分解时可适当调整此处的值
long int a[M];
void prime_array()
{
register int i, j;
int word=0, count=0;
for(i=2; count<M; word=0,i++)
{
for(j=2; j<=sqrt(i); j++)
if(i%j == 0)
{
word=1;
break;
}
if( !word )
{
a[count++]=i;
}
}
}
// 找到前1500个素数(第1500个素数为12553)
void main()
{
int k=0, b[M]={0};
long int n, s;
prime_array();
cout << "请输入要进行标准素分解的整数: ";
cin >> n;
s=n;
cout << endl;
for(k=0; (a[k] <= s) && (n != 1); k++)
{
while(n%a[k]==0)
{
b[k]++;
n/=a[k];
}
}
cout << s << " = ";
for(k=0; k<M; k++)
{
if(b[k]>0)
cout << a[k] << " ^ " << b[k] << " * " ;
}
cout << "\b\b" << "<ok>" << endl;
getch();
}
楼主看看符合你的意图不?
arrowcy
2005-03-30
打赏
举报
回复
输入一个数,如果是不是质数把它分解成质数因子,并确定出现次数
=======================================
你是说得不是质数就分为质数因子?确定什么的出现次数?
superspeed2005
2005-03-30
打赏
举报
回复
我用了getline( cin.s,'\n')也一样的
再说他默认就是‘\n’的分割副啊
oyljerry
2005-03-30
打赏
举报
回复
第一次回车也作为字符接收了
配置Nexus私服遇到的
几个
小
问题
今天在安装配置nexus私服时,遇到了
几个
小
问题
:1. 无法启动。通过 ./nexus start启动时,会自动退出。通过./nexus console查看,发现时由于目录的权限
问题
,导致无法写日志和pid文件。Nexus的官方文档建议安装到 /...
LINQ to EF容易疏忽的
几个
小
问题
在对一个以前的一个小项目(基于.Net 3.5 SP1)进行调优时,发现其中在使用LINQ to EF存在的
几个
小
问题
。这些
问题
都直接影响了最终生成的SQL语句以及程序的性能。 1. 联表查询时尽量不要使用导航属性,而是应该将...
[IOS] ASIHttpRequest库使用过程中发现的
几个
小
问题
但是,在使用此库过程中,发现有几点小
问题
。网络上仔细搜索研究了好久,现记录于此。
问题
1:一个
问题
是,我发现当异步请求比较多,并发连接数量比较多的时候,会导致一些请求失败。原因:代码默认是最大4个并发连接...
WebSocket开发过程中遇到的
几个
小
问题
问题
一:WebSocket连接后一分钟自动断开关闭 这是因为websocket长连接有默认的超时时间(1分钟),就是超过一定的时间没有发送任何消息,连接会自动断开。解决办法就是让浏览器每隔一定时间(要小于超时时间)发送一...
如何用SPSS软件把调查问卷中一个维度的多个
问题
合成一个变量,然后进行相关分析?求大神帮帮忙。
如何用SPSS软件把调查问卷中一个维度的多个
问题
合成一个变量,然后进行相关分析?求大神帮帮忙。 我的调查问卷共20个
问题
,分为四个维度,每个维度有5个
问题
。现在想把每个维度作为一个整体进行分析,可是无论怎么...
C++ 语言
64,647
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章