POJ 2869 计算费马数

时间限制: 
1000ms
内存限制: 
65536kB
描述
费马数是一个正整数序列{Fn},它的表达式为Fn = 2^2^n + 1,n = 0, 1, 2, ...

编写程序,输出前 k 个费马数 F0, F1, F2, ...

要求:
  1、不能使用指数函数power
  2、不能使用查表法,必须在程序里计算费马数
输入
非负整数k
输出
前k个费马数
样例输入
3
样例输出
3517
提示
输入只有一个k,不需使用 while (cin >> k)。
 
(1)、源代码:
#include <iostream>
 
using namespace std;
 
int main()
{
                int i, j, k, fn;
                int t, temp;
                
                cin >> k;
                for(i = 0; i < k; i++)
                {              
                                t = temp = 1;
                                for(j = 0; j < i; j++)
                                                t *= 2;
                                for(j = 0; j < t; j++)
                                                temp *= 2;
                                cout << temp + 1 << endl;
                }
    return 0;
}
 
(2)、解题思路:略
(3)、可能出错:略
 
 
 
 
 
 
posted on 2012-05-02 22:07  谷堆旁边  阅读(408)  评论(0编辑  收藏  举报