C++第7次作業
阿新 • • 發佈:2019-02-07
專案1:素數和迴文
#include<iostream> using namespace std; int isPrimer(int n)//判斷素數 { int i,j=1; for(i=2;i<n;i++) if(n%i==0) { j=0; break; } return j; } int isPalindrome(int num) //判斷迴文 { int temp=0; for(int n=num;n;n/=10) temp=temp*10+n%10; return temp==num; } int main() { const int M=100; int i,j=0,m=0,n=0,k=0,p,r; int a[M],b[M],c[M],d[M]; for(i=2;i<=300;i++) { if(isPrimer(i)) { a[j]=i; j++; r=i; p=0; while(r!=0) { p=p*10+r%10; r=r/10; } if(isPrimer(p)) { d[k]=i; k++; } } if(isPalindrome(i)) { b[m]=i; m++; } if(isPrimer(i) && isPalindrome(i)) { c[n]=i; n++; } } cout<<"300以內的所有素數有:"<<endl; for(i=0;i<j;i++) cout<<a[i]<<"\t "; cout<<endl; cout<<"300以內的所有迴文數有:"<<endl; for(i=0;i<m;i++) cout<<b[i]<<"\t"; cout<<endl; cout<<"300以內的所有迴文素數有:"<<endl; for(i=0;i<n;i++) cout<<c[i]<<"\t"; cout<<endl; cout<<"300以內的所有可逆素數有:"<<endl; for(i=0;i<k;i++) cout<<d[i]<<"\t"; cout<<endl; return 0; }
專案2:最大公約和和最小公倍數
#include <iostream> using namespace std; int F1(int m,int n) { int i; while(n!=0) { i=m%n; m=n; n=i; } return m; } int F2(int m,int n) { int j; j=(m*n)/(F1(m,n)); return j; } int main() { int a,b; cin>>a>>b; cout<<"請輸入兩個數:"; cout<<"最大公約數是:"<<F1(a,b)<<endl; cout<<"最小公倍數是:"<<F2(a,b)<<endl; return 0; }