moz_0805 2021-08-20 16:23 采纳率: 72.7%
浏览 60
已结题

关于c++的一道问题 此代码样例过了但零分 求改 蟹蟹

img


#include<stdio.h>
using namespace std;
int n,m,k,s,i=2;
int main(){
    scanf("%d%d%d",&n,&m,&k);
    while(i<k){
        s=(n*m)%10;
        n=m;
        m=s;
        i++;
    }
    printf("%d\n",s);
    return 0;
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-08-20 17:06
    关注

    img
    10^12 = 1000000000000,所以 i k 的数据类型是 int 型就超范围了,修改如下,供参考:

    
    #include<stdio.h>
    
    int main()
    {
        int  n, m, s;
        __int64  k, i = 2;
        scanf("%d%d%I64d", &n, &m, &k);
        while (i < k){
            s = (n * m) % 10;
            n = m;
            m = s;
            i++;
        }
        printf("%d\n",s);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 已采纳回答 8月20日
  • 修改了问题 8月20日
  • 修改了问题 8月20日
  • 展开全部