题解 | #萌萌的好数#

萌萌的好数

https://ac.nowcoder.com/acm/contest/84851/D

不需要任何算法技巧,找规律题。

打表可以看到每30个数有18个是好数,且18个好数在每30个数的相对位置不变,那么答案易推。

其实30的规律挺好看出来,与3有关,与10有关,自然联想到30了。

import java.util.*;

public class Main{
    public static void main(String[]args){
        Scanner sc = new Scanner(System.in);
        int t=sc.nextInt();
        int []a = new int [30];
        int p=0;
        for(int i=1;i<=30;i++){
            if(i%3!=0 && i%10!=3) a[++p]=i;
        }
        while(t-->0){
            long n = sc.nextLong();
            long res=(n-1)/18*30;res += a[(int)((n-1)%18)+1];
            System.out.println(res);
        }
    }
}
全部评论

相关推荐

豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务