程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 1999 不可摸數 (水題)

HDU 1999 不可摸數 (水題)

編輯:C++入門知識

HDU 1999 不可摸數 (水題)


【題意簡述】:中文題

【分析】:想法很簡單,因為n的范圍僅僅是 2<= n<=1000,所以根據題目描述,我只需要打出一個表即可解決問題,表裡存放每一個S(i)的值,如果輸入的n能與表中的值相對應,就不是不可摸數,相反便是不可摸數!

不過要注意這裡邊表的那個上線,我們可以試出來,最後我測試出的結果是5000左右。


#include
using namespace std;

int a[5000]={0};

int main()
{
    int n,i,j,m,flag=0;
    a[0]=1;a[1]=1;
    for(i=2;i<5000;i++)
    {
    	a[i]=0;
     	for(j=1;j<=i/2;j++)
      	if(i%j==0)
       	a[i]+=j;
    }
    cin>>n;
    while(n--)
    {
       	cin>>m;
       	for(i=0;i<=1000;i++)         
       	{
   			if(m==a[i])
      		{      
        		flag=1;
          		break;
            }   
        }
        if(flag==0)
        	cout<<"yes"<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved