九度oj 数位拆解 1064

来源:互联网 发布:软件测试看什么书 编辑:程序博客网 时间:2024/06/01 09:44

1064题目:

http://ac.jobdu.com/problem.php?pid=1064

#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>#include <stack>#include <queue>#define ISYEAP(x) x%100!=0 && x%4==0 || x%400==0 ? 1:0 using namespace std;int n,n9;int main(){    int flag=0;  for(int n=1000;n<10000;n++){     n9=n*9;     if(n9>=10000)       break;     if(n9%10!=n/1000)       continue;     if((n9%100/10)!=(n/100)%10)       continue;     if((n9/100)%10!=(n%100)/10)       continue;     if((n9/1000)!=n%10)       continue;     if(flag==0)     {         cout<<n;         flag++;     }     else{        cout<<' '<<n;     }  }  cout<<endl;} /**************************************************************    Problem: 1064    User: zhouyudut    Language: C++    Result: Accepted    Time:0 ms    Memory:1516 kb****************************************************************/
其实可以直接输出1089~

1074题目:

http://ac.jobdu.com/problem.php?pid=1074

#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>#include <stack>#include <queue>#define ISYEAP(x) x%100!=0 && x%4==0 || x%400==0 ? 1:0 using namespace std;int main(){   int len;   int arr[10];   int ii;   for(int i=0;i<256;i++)   {       ii=i*i;       len=0;  //     cout<<i<<' ';       while(1){          arr[len]=ii%10; //         cout<<arr[len]<<' ';          len++;          if(ii<10)           break;          ii=ii/10;       } //      cout<<endl;       int flag=0;       for(int j=0;j<=len/2;j++){           if(arr[j]!=arr[len-1-j]){             flag=1;             break;           }       }       if(flag==0)         cout<<i<<endl;   }} /**************************************************************    Problem: 1074    User: zhouyudut    Language: C++    Result: Accepted    Time:0 ms    Memory:1516 kb****************************************************************/
1124题目:

http://ac.jobdu.com/problem.php?pid=1124

#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>#include <stack>#include <queue>#define ISYEAP(x) x%100!=0 && x%4==0 || x%400==0 ? 1:0 using namespace std;int main(){  char s[1000];  long long int n;  while(1){     cin>>s;     int len=strlen(s);     n=0;     for(int i=0;i<len;i++)         n+=s[i]-'0';     if(n==0)       return 0;     long long int answer=0;     while(1){       if(n==0 && answer<10)       break;       if(n==0 && answer>=10)       {           n=answer;           answer=0;       }       answer+=n%10;       n/=10;     }     cout<<answer<<endl;  } } /**************************************************************    Problem: 1124    User: zhouyudut    Language: C++    Result: Accepted    Time:20 ms    Memory:1520 kb****************************************************************/







0 0