PAT(Basic Level) 1096 大美数
生活随笔
收集整理的這篇文章主要介紹了
PAT(Basic Level) 1096 大美数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
若正整數(shù)?N?可以整除它的 4 個(gè)不同正因數(shù)之和,則稱(chēng)這樣的正整數(shù)為“大美數(shù)”。本題就要求你判斷任一給定的正整數(shù)是否是“大美數(shù)”。
輸入格式:
輸入在第一行中給出正整數(shù)?K(≤10),隨后一行給出?K?個(gè)待檢測(cè)的、不超過(guò)?104?的正整數(shù)。
輸出格式:
對(duì)每個(gè)需要檢測(cè)的數(shù)字,如果它是大美數(shù)就在一行中輸出?Yes,否則輸出?No。
輸入樣例:
3 18 29 40輸出樣例:
Yes No Yes代碼長(zhǎng)度限制
16 KB
時(shí)間限制
400 ms
內(nèi)存限制
64 MB
#include <bits/stdc++.h> #include <algorithm> #include <cmath> #include <math.h> using namespace std; int main(){int K;int i,j,k=0;int m,n,p,q;int flag=0;int number;cin>>K;for(i=0;i<K;i++){cin>>number;int a[10100]={0};k=0;for(j=1;j<=number;j++){if(!(number%j)){a[k++]=j;}}//該層循環(huán)求得這個(gè)數(shù)的所有正因數(shù)并放入數(shù)組中if(k<4) cout<<"No"<<endl;else{flag=0;for(m=0;m<k-3;m++){for(n=m+1;n<k-2;n++){for(p=n+1;p<k-1;p++){for(q=p+1;q<k;q++){if(a[m]!=a[n]&&a[n]!=a[p]&&a[p]!=a[q]&&!((a[m]+a[n]+a[p]+a[q])%number)){flag=1;}}}}}if(!flag) cout<<"No"<<endl;else cout<<"Yes"<<endl;}}return 0; }本題思路是暴力枚舉算法,還是挺好用的。
總結(jié)
以上是生活随笔為你收集整理的PAT(Basic Level) 1096 大美数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SIM900B GPRS模块————打电
- 下一篇: 平衡二叉树算法详解