第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UVa 1583生成元問題C語言實現(xiàn)

UVa 1583生成元問題C語言實現(xiàn)

化糖 2017-08-14 16:30:04
題目是:x加上x的的各位數(shù)字得到y(tǒng),稱x為y的生成元。給出n(1<=n<=100000),求最小生成元。無解輸出0。以下是示例代碼。????問題是,我覺得if語句那一行的第二個判斷條件是不可能為真的,因為ans[y]如果非0的話,這個值一定比現(xiàn)在的m小,因為m是遞增的呀。#include<stdio.h> #include<string.h> #define?maxn?100005 int?ans[maxn];int?main() { ????int?T,n; ????memset(ans,0,sizeof(ans)); ????for(int?m=1;m<maxn;m++) ????{ ????????int?x=m,y=m; ????????while(x>0) ????????{ ????????????y+=x%10; ????????????x/=10; ????????} ????????if(ans[y]==0||m<ans[y])????//不解 ?????????ans[y]=m;//從1-maxn找每個數(shù)最小生成元,沒有為0 ????} ????scanf("%d",&T); ????while(T--)????{ ????????scanf("%d",&n); ????????printf("%d\n",ans[n]);//輸出每個數(shù)的最小生成元? ???? } ????return?0; }
查看完整描述

2 回答

?
遙不可及不放棄

TA貢獻15條經驗 獲得超5個贊

你這個會有段錯誤吧,數(shù)組訪問會越界

查看完整回答
2 反對 回復 2017-08-16
  • 化糖
    化糖
    怎么解決呢?
  • 慕用026480
    慕用026480
    定義Maxn為10045,并在生成生成元的循環(huán)中將循環(huán)停止的條件改為m<100001
  • 2 回答
  • 2 關注
  • 2237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號