NYOJ 205
#include<stdio.h> #include<string.h> #define N 10003 int main() { int i,T;int ans,len; scanf("%d",&T); while(T--) { //getchar();不可加 int ans=0; char num[1000000]; scanf("%s",num); getchar(); len=strlen(num); // for(i=0;i<len;i++) //printf("%d ",num[i]);//知道还没将字符转为数值 for(i=0;i<len;i++) ans=(int)(((long long)ans*10+num[i]-48)%N); printf("%d\n",ans); } //system("pause"); return 0; } // Note:Your choice is C++ IDE #include <iostream> using namespace std; int N = 100; int My_Mod(int ans) { if(ans==0) return 0; int temp; if(ans&1==1) { temp = (My_Mod(ans/2)%N * 2 + 1)%N; } else temp = (My_Mod(ans/2)%N * 2)%N; return temp; } int main() { cout<<My_Mod(123456789)<<endl; system("pause"); return 0; } //TLE #include<stdio.h> #include<stdlib.h> #define N 10003 /*int My_Mod(int ans) { int temp; if(ans&1==1) { temp=My_Mod(ans/2)%N; temp++; } else temp=My_Mod(ans/2)%N; return temp; }不知道出口怎么写*/ int My_Mod(long long ans) { while(ans>=N) ans-=N; return (int)ans; } int main() { int i,j,T;long long ans; scanf("%d",&T); while(T--) { long long num; scanf("%lld",&num);//必须用lld ans=My_Mod(num); printf("%d\n",ans); } system("pause"); return 0; }
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.