网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月07日漏签0天
pascal吧 关注:14,950贴子:132,315
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回pascal吧
>0< 加载中...

[提问] 用哈希表求这道题, 牛们都来帮帮忙!!!!谢谢了,

  • 只看楼主
  • 收藏

  • 回复
  • 我_很正经
  • 方格取数
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
【描述】
自然数N的阶乘(写成N!)被定义成从1到N的所有整数的乘积。例如:
5!=5*4*3*2*1=120
随着数N的增大,N!增长得非常快,5!=120, 10!=3628800。要列举那么大的数,
可用下列方法:不是直接列出该数,而是按照顺序列举出该数中各个质数因子出现的
次数,如825可描述为(01201),意思是对825分解质因数,这些质数因子中有0个2,
1个3,2个5,0个7,1个11。
编一程序,读入N值,按顺序输出N!所包含的质数因子的个数。
【输入文件】
输入文件只包含1个数字N (2<=N<100)
【输出文件】
输出文件是一个N!中所包含的质数因子的个数(从最小的质数开始)的序列,
数与数之间用一个空格隔开。
【举例1】
输入文件:
5
输出文件:
3 1 1
说明:5!中包含了3个2,1个3和1个5
【举例2】
输入文件:
53
输出文件:
49 23 12 8 4 4 3 2 2 1 1 1 1 1 1 1
请问牛们,   怎么用哈希表累计??
分解质因数的时候,这样打程序还需要什么改进么?
while n>1 do
begin
   i:=i+1;
while (n mod i)=0 do
begin
   write(i);
   n:=n/1;
   if n<>1 then write('*');
end;
请说下用哈希表累计的思路,如果有程序参考就更好了,   谢谢了,


  • 我_很正经
  • 方格取数
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
期待神牛出现!!!!


2026-01-07 08:29:33
广告
不感兴趣
开通SVIP免广告
  • xgyadsl
  • A+B
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
连质因数都忘记了,


  • T_K_2835
  • begin
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Var
 n,i,j,x:integer;
 a:array[1..100]of integer;
Begin
 readln(n);
 for i:=2 to n do
 begin
  x:=i;
  for j:=2 to x do
   while x mod j=0 do
   begin
    x:=x div j;
    inc(a[j]);
   end;
 end;
 write(a[2]);
 for i:=3 to 100 do
  if a[i]>0 then write(' ',a[i]);
 readln;
End.


  • T_K_2835
  • begin
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我勒个擦 打完程序才发现是坟帖


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回pascal吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示