判斷一個數為哪些數的階乘之和(貪心)
階乘之和
Description
對於整數ppp,給出以下定義
p=x1!+x2!+x3!+…+xq!(xi
#include<cstdio>
#include<cstring>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
vector<ll> vecx,vecy;
ll a[30];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
a[0]=1;
for(ll i=1;i<=20;i++){
a[i]=i*a[i-1];
}
int T;
scanf("%d",&T);
int Case=1;
ll x,y;
while(T--){
scanf("%lld%lld",&x,&y);
ll n=x,m=y;
int flagx=0;
int flagy=0;
for(ll i=20;i>=1;i--){
if(x-a[i]>=0){
vecx.push_back(i);
x-=a[i];
if(x==0) flagx=1;
}
if(y-a[i]>=0){
vecy.push_back(i);
y-=a[i];
if(y==0) flagy=1;
}
}
printf("Case %d:",Case++);
if(flagx+flagy==2){
printf("SEYES\n");
if(vecx.size()==vecy.size()){
printf("%lld=%lld!",n,vecx[vecx.size()-1]);
for(ll i=vecx.size()-2;i>=0;i--)
printf("+%lld!",vecx[i]);
printf("\n");
printf("%lld=%lld!",m,vecy[vecy.size()-1]);
for(ll i=vecy.size()-2;i>=0;i--)
printf("+%lld!",vecy[i]);
printf("\n");
}else{
printf("dWvWb\n");
}
}else if(flagx+flagy==1){
printf("YNEOS\n");
printf("dWvWb\n");
}else{
printf("ONO\n");
printf("dWvWb\n");
}
vecx.clear();
vecy.clear();
}
return 0;
}
相關文章
- 判斷一個數是否為質數(程式碼)
- Python:判斷一個正整數是否為迴文數Python
- 位運算-判斷一個數是否為2的整數次方
- python如何判斷一個數是否是整數Python
- 【質數判斷】給定兩個數,判斷這兩個數是否互質?
- 【數學問題】判斷一個數是否是素數
- 1085: 求奇數的乘積(多例項測試)(奇數判斷)
- C----判斷兩個整數乘積幾進位制
- python怎麼判斷一個數是幾位數Python
- 如何判斷一個數倉模型的好壞?模型
- Python判斷變數是否是整數的方法有哪些?Python變數
- postgresql判斷是否為數字的方法SQL
- 【LeetCode貪心#09】用最少數量的箭引爆氣球,(涉及區間重疊情況判斷)LeetCode
- 刪數問題(貪心)
- 貪心-刪數問題
- 質數的判斷
- 判斷一個數是不是質數(素數),3種方式介紹
- linux 中如何判斷變數是否為數值Linux變數
- 原生js 判斷變數是一個陣列JS變數陣列
- 判斷素數
- 素數判斷
- 兩數之和,三數之和,最接近的三數之和,四數之和
- 每日codewars題之判斷一個數是否是水仙花數
- nginx判斷路徑是否含有某個引數做判斷Nginx
- C#判斷一個字串是否是數字或者含有某個數字C#字串
- C#判斷輸入為數字C#
- python 輸入一個整數,判斷其是否既是3的倍數,又是5的倍數Python
- java判斷輸入的字串是否為數字Java字串
- JavaScript判斷兩個變數是否相等JavaScript變數
- Python 判斷質數的另一種方法Python
- 編寫類 AA ,有一個方法:判斷一個數是奇數 odd 還是偶數, 返回 booleanBoolean
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- 求任意數字的階乘
- go 如何優雅的判斷變數是否為 nilGo變數
- 大數模擬 加減乘除 判斷大數是否為素數 板子
- 整數劃分為多數之和
- 如何判斷一個物件是否為空?物件