Hdu 1215 七夕節 (數論:因子和)

來源:互聯網
上載者:User

連結:http://acm.hdu.edu.cn/showproblem.php?pid=1215

 

大聲吼聲。。真不適合做數論題。。各種逾時,RE。。。

好吧,這道題的題意非常明白了,怎麼做又是一回事了。

500000的上限數值肯定不能暴力了。

那麼就最土的打表了。

 

怎麼構建表格呢?

首先有一點: 一個數的倍數,則因子肯定含有這個數。

記住這個吧。。

 

 

AC代碼:

 

#include <iostream>using namespace std;int a[500001];void fun(){int i,j;for(i=1;i<=500000;i++)//1每個人都有先加上去a[i]=1;for(i=2;i<=250001;i++)//只要一半就好,超過了無意義{for(j=i+i;j<=500000;j+=i)//只要是i的倍數的數肯定含有i這個因子,i自身就不加了,從i的下個開始{a[j]+=i;//所以加i上去}}}int main(){int  m,n;fun();scanf("%d",&m);while(m--){scanf("%d",&n);printf("%d\n",a[n]);}return 0;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.