码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 4952 Number Transformation (找规律)

时间:2014-08-14 23:25:26      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   ar   

题目链接

题意:给你个x,k次操作,对于第i次操作是:要找个nx,使得nx是>=x的最小值,且能整除i,求k次操作后的数

分析:

经过打表找规律,会发现最后的x/i,这个倍数会趋于一个固定的值,求出这个固定的值和K相乘就可以了,

为什么会趋于固定的值呢,因为最后虽然i在不断增长,但是x也是在增长的,每次的倍数会回退一个发现

有余数,然后再加上一个,所以趋于稳定。

 

官方题解:

bubuko.com,布布扣

 

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cstdlib>
 5 #include <algorithm>
 6 #define LL __int64
 7 using namespace std;
 8 
 9 int main()
10 {
11     LL x, k, i, pre, tmp;
12     int ca = 1;
13     while(~scanf("%I64d%I64d", &x, &k))
14     {
15         if(x==0 && k==0) break;
16         pre = x/1;
17         for(i = 2; i <= k; i++)
18         {
19             tmp = x/i;
20             if(x%i==0)
21             {
22                 pre = tmp;
23                 continue;
24             }
25             x = (tmp+1)*i;
26             if(pre == tmp+1) // 和之前的相同
27                 break;
28             pre = tmp+1;
29         }
30 
31         printf("Case #%d: ", ca++);
32         printf("%I64d\n", pre*k);
33     }
34     return 0;
35 }

 

hdu 4952 Number Transformation (找规律),布布扣,bubuko.com

hdu 4952 Number Transformation (找规律)

标签:style   blog   http   color   os   io   for   ar   

原文地址:http://www.cnblogs.com/bfshm/p/3913496.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!