解题思路:
注意事项:
参考代码:
/* 当数小于int最大值时,直接转为int型,取余判断 当数大于int最大值时,循环递归 “个位数字去掉,再从余下的数中减去个位数的5倍 ” */ #include <iostream> #include <string> using namespace std; int strtoint(string str){ int i, num=0; for(i=0; i<str.size(); i++){ num = num*10 + (str[i]-'0'); } return num; } int main(){ int i,ans,weishu,num; string nums; while( cin>>nums && nums!="0"){ if(nums.size()<10){ cout<< (strtoint(nums)%17==0) <<endl; } else { ans=strtoint(nums.substr(nums.size()-3,3)); for(i=nums.size()-4; i>=0; i--){ weishu = ans%10; ans = (nums[i]-'0')*100 + ans/10; ans -= weishu*5; //cout<<ans<<','<<weishu<<endl; } cout<< (ans%17==0) <<endl; } } return 0; }
0.0分
3 人评分
人见人爱A+B (C语言代码)浏览:789 |
小九九 (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:810 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:600 |
C语言训练-数字母 (C语言代码)浏览:585 |
简单的a+b (C语言代码)浏览:530 |
最小公倍数 (C语言代码)浏览:863 |
最长单词 (C语言代码)浏览:1376 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1316 |
求圆的面积 (C语言代码)浏览:1271 |