見出し画像

全桁の数字が異なる日付(2019年8月7日)の、次の日付はいつか

数学的な計算方法がわからないので、Google Apps Scriptで力技で。

回答通り、2031年4月5日でした。

↓クソダサプログラム

function myFunction(){
 var date = new Date();
 var i=0
 var string_date;
 
 
 do{
   date.setDate(date.getDate()+1);
   string_date = String(date.getFullYear()) + String((date.getMonth() + 1)) + String(date.getDate());
   //Logger.log(string_date + ' : ' + CheckUsedNum(string_date))
 }while(CheckUsedNum(string_date));
 
 Logger.log(string_date)
}

function CheckUsedNum(string_date){
 var zero = 0;
 var one = 0;
 var two = 0;
 var three = 0;
 var four = 0;
 var five = 0;
 var six = 0;
 var seven = 0;
 var eight = 0;
 var nine = 0;
 var check_result;
 
 for(var i=0; i<string_date.length; i++){
   switch(string_date.slice(i,i+1))
   {
     case "0":
       zero++;
       break;
     case "1":
       one++;
       break;
     case "2":
       two++;
       break;
     case "3":
       three++;
       break;
     case "4":
       four++;
       break;
     case "5":
       five++;
       break;
     case "6":
       six++;
       break;
     case "7":
       seven++;
       break;
     case "8":
       eight++;
       break;
     case "9":
       nine++;
       break;
   }    
 } 
 if(zero>1 || one>1 || two>1 || three>1 || four>1 || five>1 || six>1 || seven>1 || eight>1 || nine>1){
   check_result = true
 }else{
   check_result = false
 }
 return check_result
}

この記事が気に入ったらサポートをしてみませんか?