網頁

2009年4月13日 星期一

RSA解密

下列RSA密文

4C80D8A0105C1549B79340488B9BA9A215F755FC3F523DF17BD3CDEE5E9FA5
4C43D2A073A20EA22F2C169DD2F17818395D2D01D616CAA932392CC43499CD
259C

請解密

Mechanism=RSA PKCS

private Key存在"A RSA private key object"金鑰物件

程式設計練習題

1 使用C/C++程式中迴圈(for, while 或者do/while)計算算式,並含完整程式碼, 流程圖!

S = 1 × 2 × 3 + 2 × 3 × 4 + · · · + 100 × 101 × 102


2 請問下列程式片段之輸出!要加上什麼才能成為完整程式碼?
int x=5,y=3,z,w;
x-=2;
cout<<++x<<endl;
z=y++;
cout<<z<<endl;
cout<<y<<endl;
w=--z;
cout<<z<<endl;
cout<<(w<<3)<<endl;
for(x=10;x>=6;x--){
    if (x%2==1)
       continue;
    cout<<x<<endl;
    if (x==7) break;
};
cout<<x<<endl;


3 下列程式片段之輸出!並補上標頭檔

int main(){
    int j=2;
    int i=0xc;
   double E=2.7182818284590;
   printf("[%-5d]\n",i);
   printf("[%3x]\n",i);
   printf("[%3d]\n",j);
   printf("[%d]\n",sizeof(E));
   printf("[%-16.10f]\n",E);
   printf("[%f]\n",E);
   system("PAUSE");
   return 0;
}


4 下列程式片段之輸出!並用if-else改寫!流程圖為何?

int i;
for (i=0;i<7;i++)
{
   switch(i){
      case 0:
      printf("i=%d\n",i);break;
      case 1:
      printf("i=%d\n",i);break;
      case 2:
      printf("i=%d\n",i);break;
      default:
      printf("i>2\n");break;
   };
};
printf("i=%d\n", ++i);


5 下列C/C++程式之輸出!並
改寫主程式使其輸出為:
@@@@@
   @@@
      @
#include <iostream>
using namespace std;
void prCh(char ch, int rows);
int main(){
   for(int i=1;i<5;i++){
      prCh('A',i-1);
      prCh('B',i);
      cout<<endl;
   }
   cin.get();
   return 0;
}
void prCh(char ch, int rows){
   for (int i=rows;i>=1;i--){
      cout<<ch;
   }
}


6 已知20以下的質數,也知道測試400以下是否為質數的函數,請寫出C/C++程式列出
所有20<=x<=400 AND x%4==1的質數
int Prime[]={2,3,5,7,11,13,17,19,23};
bool isPrimebelow400(int n)
{
   int n_sqrt=(int)sqrt(n);
   for (int i=0; Prime[i]<=n_sqrt; i++)
   {
      if (n%Prime[i]==0 && n>Prime[i])
         return 0;
   }
   return 1;
}