• 简单数学问题


    记录点滴。

      1 /*
      2 2015.6    HT
      3 ACM Work_2
      4 
      5 */
      6 
      7 //#include <stdio.h>
      8 #include<iostream>
      9 using namespace std;
     10 
     11 /*
     12 Sum Problem
     13 1+2+...+N
     14 */
     15 //int main()
     16 //{
     17 //    int n, sum = 0;
     18 //    while((scanf("%d", &n) && (n>0)))
     19 //    {
     20 //        sum = (1 + n) * n / 2;
     21 //        if (sum > 2147483648)
     22 //        {
     23 //            printf("sum too large !");
     24 //            break;
     25 //        }
     26 //        printf("%d
    
    ", sum);
     27 //        sum = 0;
     28 //    }
     29 //    return 0;
     30 //}
     31 
     32 
     33 /*
     34 Elevator
     35 6 seconds to move the elevator up one floor 
     36 4 seconds to move down one floor 
     37 stay for 5 seconds at each stop
     38 */
     39 //int main()
     40 //{
     41 //    int i, n, a[100], sum = 0;
     42 //    for (i = 1; i < 100; i++)
     43 //        a[i] = 0;
     44 //    while((scanf("%d", &n) && n != 0 && n < 100))
     45 //    {
     46 //        a[0] = 0;
     47 //        for (i = 1; i <= n; i++)
     48 //            scanf("%d", &a[i]);
     49 //        for (i = 1; i <= n; i++)
     50 //        {  
     51 //            if(a[i]>a[i-1])
     52 //                sum += (a[i] - a[i-1]) * 6 + 5;
     53 //            else
     54 //                sum += (a[i-1] - a[i]) * 4 + 5;
     55 //        }
     56 //        printf("%d
    ", sum);
     57 //        sum = 0;
     58 //    }
     59 //    return 0;
     60 //}
     61 
     62 
     63 /*
     64 Least Common Multiple 最小公倍数
     65 */
     66 //int main()
     67 //{//LCM
     68 //    int i, n, num, count = 1;
     69 //    int  ch, p1, r, q1, p, q;
     70 //    scanf("%d", &n);
     71 //    while (n--)
     72 //    {
     73 //        i = q = p = r = 0;
     74 //        count = 1;
     75 //        scanf("%d", &num);
     76 //        while (num--)
     77 //        {
     78 //            scanf("%d", &ch);
     79 //            if (count++ == 1)
     80 //            {
     81 //                p = p1 = ch;
     82 //                continue;
     83 //            }
     84 //            else 
     85 //                q = q1 = ch;
     86 //            // need p > q
     87 //            if (q > p)
     88 //            {
     89 //                r = q; 
     90 //                q = p; 
     91 //                p = r;
     92 //            }
     93 //            while (p%q != 0)
     94 //            {
     95 //                r = q;
     96 //                q = p%q;
     97 //                p = r;
     98 //
     99 //            }
    100 //            p = p1 = p1 / q*q1;
    101 //        }
    102 //        printf("%d
    ", p);
    103 //    }
    104 //    return 0;
    105 //}
    106 
    107 
    108 /*
    109 Number Sequence
    110 f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7
    111 */
    112 //int main()
    113 //{
    114 //    // 结果最多只有7 * 7 = 49种可能
    115 //    int a, b, n, t1, t2, t3;
    116 //    while (1)
    117 //    {
    118 //        cin >> a >> b >> n;
    119 //        if (!(a || b || n)) break;
    120 //        n %= 49;
    121 //        t1 = t2 = t3 = 1;
    122 //        for (int i = 3; i <= n; ++i)
    123 //        {
    124 //            t3 = (a*t2 + b*t1) % 7;
    125 //            t1 = t2;
    126 //            t2 = t3;
    127 //        }
    128 //        cout << t3 << endl;
    129 //    }
    130 //    return 0;
    131 //}
    132 
    133 
    134 /*
    135 Fibonacci Again
    136 F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2)
    137 "yes" if 3 divide evenly into F(n)
    138 "no" if not
    139 */
    140 //int main()
    141 //{
    142 //    int n, i;
    143 //    __int64 ans, a, b;
    144 //    while (cin >> n)
    145 //    {
    146 //        a = 7;
    147 //        b = 11;
    148 //        if (n == 1 || n == 0)
    149 //            cout << "no
    ";
    150 //        else
    151 //        {
    152 //            ans = 0;
    153 //            for (i = 2; i <= n; i++)
    154 //            {
    155 //                ans = (a + b) % 3;
    156 //                a = b;
    157 //                b = ans;
    158 //            }
    159 //            if (!ans) 
    160 //                cout << "yes
    ";
    161 //            else 
    162 //                cout << "no
    ";
    163 //        }
    164 //    }
    165 //    return 0;
    166 //}
    167 
    168 
    169 /*
    170 吃糖果
    171 不喜欢将一样的糖果放在一起吃
    172 是否存在一种吃糖果的顺序使得他能把所有糖果都吃完
    173 2
    174 3
    175 4 1 1
    176 5
    177 5 4 3 2 1
    178 
    179 No
    180 Yes
    181 */
    182 //int main()
    183 //{
    184 //    // 某种糖果的最大数量max, 剩余的糖果总数要比max-1多或等于
    185 //    int sum, max;
    186 //    int i, T, n, m;
    187 //
    188 //    scanf("%d", &T);
    189 //    while (T--)
    190 //    {
    191 //        scanf("%d", &n);
    192 //        sum = 0;
    193 //        max = -1;
    194 //        for (i = 0; i<n; i++)
    195 //        {
    196 //            scanf("%d", &m);
    197 //            sum += m;
    198 //            if (max<m)
    199 //                max = m;
    200 //        }
    201 //        if (sum - max + 1 >= max) 
    202 //            printf("Yes
    ");
    203 //        else 
    204 //            printf("No
    ");
    205 //    }
    206 //    return 0;
    207 //}
    208 
    209 
    210 /*
    211 人见人爱A^B
    212 求A^B的最后三位数表示的整数
    213 */
    214 //int power(int a, int n)
    215 //{
    216 //    // 快速幂非递归实现
    217 //    int ans = 1;
    218 //    while (n)
    219 //    {
    220 //        if (n & 1)
    221 //            ans *= a;  
    222 //        a *= a;
    223 //        n = n >> 1;        
    224 //    }
    225 //    return ans;
    226 //}
    227 //int main()
    228 //{
    229 //    // 较大数会溢出
    230 //    int a, b;
    231 //    while (scanf("%d%d", &a, &b) != EOF && a && b)
    232 //    {
    233 //        printf("%d
    ", power(a, b) % 1000);
    234 //    }
    235 //    return 0;
    236 //}
    237 
    238 
    239 /*
    240 Rightmost Digit
    241 output the most right digit of N^N
    242 3 * 3 * 3 = 27, so the rightmost digit is 7
    243 */
    244 //int power(int a, int n)
    245 //{
    246 //    // 快速幂非递归实现
    247 //    int ans = 1;
    248 //    while (n)
    249 //    {
    250 //        if (n & 1)
    251 //            ans *= a;  
    252 //        a *= a;
    253 //        n = n >> 1;        
    254 //    }
    255 //    return ans;
    256 //}
    257 //int main()
    258 //{
    259 //    int a, n;
    260 //    scanf("%d", &n);
    261 //    while (n--)
    262 //    {
    263 //        scanf("%d", &a);
    264 //        printf("%d
    ", power(a, a) % 10);
    265 //    }
    266 //    return 0;
    267 //}
    268 
    269 
    270 /*
    271 最小公倍数
    272 */
    273 //int gcd(int a, int b) 
    274 //{
    275 //    //求最大公约数函数
    276 //    int r;
    277 //    while (b)
    278 //    {
    279 //        r = a%b;
    280 //        a = b;
    281 //        b = r;
    282 //    }
    283 //    return a;
    284 //}
    285 //int main()
    286 //{
    287 //    int a, b, g;
    288 //    while (scanf("%d%d", &a, &b) != EOF)
    289 //    {
    290 //        if (a > b)
    291 //            g = gcd(a, b);
    292 //        else
    293 //            g = gcd(b, a);
    294 //        g = (a*b) / g;
    295 //        printf("%d
    ", g);
    296 //    }
    297 //    return 0;
    298 //}
    299 
    300 
    301 /*
    302 求数列的和
    303 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和
    304 */
    305 //int main()
    306 //{
    307 //    int n, m, i;
    308 //    double sum, a;
    309 //    while (scanf("%d%d", &n, &m) != EOF)
    310 //    {
    311 //        sum = 0;
    312 //        a = (double)n;
    313 //        for (i = 0; i<m; i++)
    314 //        {
    315 //            sum += a;
    316 //            a = sqrt(a);
    317 //        }
    318 //        printf("%.2lf
    ", sum);
    319 //    }
    320 //    return 0;
    321 //}
    322 
    323 
    324 /*
    325 多项式求和
    326 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...
    327 */
    328 int main()
    329 {
    330     int n, m, i;
    331     double a[1000], j;
    332     a[1] = 1;
    333     for (i = 2; i<1000; i++)
    334     {
    335         j = 1.0 / i;
    336         if (i % 2 == 0)
    337             a[i] = a[i - 1] - j;
    338         else
    339             a[i] = a[i - 1] + j;
    340     }
    341     scanf("%d", &n);
    342     while (n--)
    343     {
    344         scanf("%d", &m);
    345         printf("%.2f
    ", a[m]);
    346     }
    347     return 0;
    348 }
  • 相关阅读:
    web Function函数
    web语言发展史
    用户正则
    字符串替换
    css单位
    JavaScript DOM&BOM
    css颜色的设置
    pseudo-class与pseudo-element的不同点与相同点
    对css语法中position值的理解
    API
  • 原文地址:https://www.cnblogs.com/ht-beyond/p/4549887.html
Copyright © 2020-2023  润新知