#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; }
原文链接: https://www.cnblogs.com/hxsyl/archive/2012/05/13/2498214.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/50137
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!