解题思路:
注意事项:
参考代码:
/* 当数小于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 人评分
C语言训练-邮票组合问题* (C语言代码)......浏览:645 |
永远的丰碑 (C语言代码)浏览:653 |
C语言训练-数字母 (C语言代码)浏览:582 |
【计算两点间的距离】 (C语言代码)浏览:879 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:665 |
简单的a+b (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:504 |
关于C语言变量位置的问题浏览:272 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:509 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |